[openstack-dev] [git-upstream] How to view only commits applied since last import
Paul Bourke
paul.bourke at oracle.com
Thu Nov 17 12:47:09 UTC 2016
Hi Darragh / git-upstream community,
I've been looking at a way to easily view a log of what commits made
since the last upstream import when managing a branch with git-upstream.
Right now this can be hard to do - something like 'git log
upstream/master..HEAD' shows a lot of duplicate commits reasons I don't
understand well enough to explain.
Darragh had suggested using the --dense option will help here, so 'git
log --dense upstream/master..HEAD -- .' seems to generally give the
right result. I've put up a patch to add this as a git-upstream command
in the form of "carrying" at https://review.openstack.org/#/c/381669/.
However, it seems there are in fact cases where the above command will
show incorrect commits, and I'm struggling a bit to fully grok this.
My current understanding is we have a branch, that consists of a mixture
of upstream commits from previous imports, and custom commits. We want
to show a list of commits added since the last import. However, if those
commits also contain commits from another non upstream branch, we want
to exclude those? This makes sense with the example of say a packaging
branch, but what if commits came from say a feature branch? Does it also
make sense to ignore those?
Secondly, can you recap exactly how we find the most recent import
commit? How does excluding the parent of this commit combined with
--dense give the correct result? From your comment in Gerrit you
identify it as the commit with the subject "[I] Merging E1 into E", but
I can't see exactly how you spot this. Locally in the same scenario,
taking the parent of the commit marked that subject and plugging it into
the command is not showing the same graph as you pasted.
Thanks in advance for anything that might help cut through some of the
confusion.
Cheers,
-Paul
More information about the OpenStack-dev
mailing list