Re: Getting a list of commits between 2 points without upstream changes
flat view
From: Jeff King <hidden>
Date: 2016-06-15 22:51:36
On Mon, Jul 18, 2011 at 11:49:57AM +1200, Chris Packham wrote:
I'm trying to send round an incremental changelog for my project which
contains just my changes without changes that have been made upstream.
The history look something like this.
---o--o--o--o--o--o--o--o-- upstream
\ \ \
\-m--A--m--B--m--C--D-- topic
What I want is a changelog with just B, C and D in it (i.e. no merge
commits and no commits already in upstream). I know if I wanted A,B,C
and D I could just do 'git log --no-merges upstream..topic'. If I do
'git log --no-merges B..topic' I get the merged commits from upstream.
In set-speak what I think want is the union of upstream..topic and
B..topic.I'm not clear on what makes "B" more special than "A" in the graph above. But assuming you know A, don't you just want: git log --no-merges topic ^upstream ^A ? That is, "everything in topic, but not in upstream, nor in the parent of A". Or if you know A and not B, you can use "^B^!" (which means "do not include commits that are in any parent of B"). -Peff