Ramkumar Ramachandra wrote:
> The range version of $(git merge-base A B) B is B ^$(git merge-base A
> B), and not B --not $(git merge-base --all A B) [which is equivalent
> to B ^A or A..B].

Let me make this easier for you, and everyone else.

In git.git, checkout master and merge 9915605c^2 (rr/shortlog-doc).
So, my changeset has graduated from 'pu' to 'master' (I know 'master'
is directly ahead of 'pu', and this is not what you do; but this is
just an exercise).  Now, I execute git log master..pu and search for
the author "Ramkumar Ramachandra".  I can see that my shortlog-doc
commits aren't present; so I infer that my changes have graduated to
master.  I can also see the merge commit corresponding to
rr/shortlog-doc, and infer that master merged in rr/shortlog-doc

If I execute git log pu ^$(git merge-base master pu), I see the merge
commit rr/shortlog-doc _and_ the shortlog-doc commits.  Here, I don't
want to know if my change graduated to master or not: I just want to
know what changes were introduced by the pu branch since the last
fork.  Think of it as a time-truncated version of git log pu: it has
nothing to do with reachability.  The only reason that master even
appears in the command is because I need to specify where pu forked
off from.

I would argue that this is incredibly useful: to see what changes were
introduced by "my branch" independent of everything else.  What do you
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to