Messages in this thread | | | Date | Thu, 23 Oct 2008 09:43:18 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [git pull] core fixes |
| |
On Tue, 21 Oct 2008, Ingo Molnar wrote: > > this is because the merge-base of this tree is 2e532d68a2, while your > tree that merges this is fresher. > > I did not want to merge to your latest, to not create an unnecessary > merge commit. But i could not find a way either how to generate a proper > shortlog either.
Just do
# update the remote branches git fetch linus # get the log difference git shortlog linus..
because "git log" and friends don't care about the merge base, they only care about the actual commit _set_difference_. So "linus.." is shorthand for "linus..HEAD", which in turn means "Which commits are in HEAD but not in 'linus".
Doing a _diff_ is different, and when you do "git diff linus.." doesn't mean a set difference, it means an "endpoint difference", and there you need to find the merge base in order to get a sane answer. Of course, then the diff won't necessarily be what I see, since common commits will disappear. But even there, you can do
git diff linus...
where the triple dots mean "symmetric set difference" for a log-based (ie "set operation") operation, but means "difference from common merge base" for an endpoint operation (ie "git diff").
Linus
| |