Re: [BUG] Highly inconsistent diff UI
- From
Ramkumar Ramachandra <artagnon@gmail.com>
- Date
- Apr 26, 2013, 10:47 UTC
- Message-ID
- <CALkWK0kSWHS0JJ9E4PPihRru0-H13mNffJ5Hndg+LqvFzsYG8Q@mail.gmail.com>
- In-Reply-To
- <CALkWK0n9xqQr30QWEuhuM9c1xrAJ=SpYVBjkiRk+tP5E7DtBGw@mail.gmail.com>
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 differently.
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 think?