We're about to move from svn to git, and one of my users has a question. We have a number of long-lived release branches. Periodically they get tagged (rel_foo_10) and merged back to the master. We need to be able to list all the commits that were made on the release branch. Doing git log master..rel_foo_10 (show all commits reachable from rel_foo_10 but not from master) doesn't work because after the merge all commits are reachable from the tip of master. Is this possible in git?
One idea would be to find the oldest branch point and do git log branchpoint..rel_foo_10. Is that easy? (git merge-base doesn't seem to do it, since it finds the latest common ancestor and I want the earliest).
Or what about git show-branch? It's not clear to me from the man page how that command knows when to stop.