Hi, On Thu, Jun 20, 2013 at 3:04 PM, Phil Hord <phil.hord@xxxxxxxxx> wrote: > On Thu, Jun 20, 2013 at 6:14 AM, Francis Moreau <francis.moro@xxxxxxxxx> wrote: >> I'd like to write a script that would parse commits in one of my repo. >> Ideally this script should accept any revision ranges that >> git-rev-list would accept. >> >> This script should consider commits in master differently than the >> ones in others branches. >> >> To get the commit set which can't be reached by master (ie commits >> which are specific to branches other than master) I would do: >> >> # "$@" is the range spec passed to the script >> git rev-list "$@" ^master | check_other_commit >> >> But I don't know if it's possible to use a different git-rev-list >> command to get the rest of the commits, ie the ones that are reachable >> by the specified range and master. >> >> One way to do that is to record the first commit set got by the first >> rev-list command and check that the ones returned by "git rev-list $@" >> are not in the record. >> >> But I'm wondering if someone can see another solution more elegant ? > > I do not know if I would call this elegant, but I think this > codification of your "One way to do that" is at least small and mostly > readable: > > git rev-list "$@" |grep -v -f <(git rev-list "$@" ^master) > Yes, thanks. But I wanted to be sure that git-rev-list can't display the intersection of several sets before going forward. -- Francis -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html