Seth Falcon <seth@xxxxxxxxxxxxxxx> wrote: > What I would like is a way for the script to determine the appropriate > tracking branch. So that the usage would look like: > > git mark-reviewed someone@xxxxxxxxxxxxxxx > > and it would figure out whether it should do trunk.. or release-1.3.., > etc. Can anyone point me in the right direction? Something like this, but its uh, ugly due to the use of a network connection: branch=$(git symbolic-ref HEAD) branch=${branch##refs/heads/} remote=$(git config branch.$branch.remote) merge=$(git config branch.$branch.merge) rb=$(git ls-remote $remote $merge | awk '{print $1}') Then use a filter-branch on "$rb..$branch" as the range. You may be able to just assume that the remote name is the refs/remotes prefix and instead do: branch=$(git symbolic-ref HEAD) branch=${branch##refs/heads/} remote=$(git config branch.$branch.remote) merge=$(git config branch.$branch.merge) merge=${merge##refs/heads/} rb=refs/remotes/$remote/$merge but that's an assumption, and we all know what happens when you assume things. Technically you need to look at remote.$remote.fetch lines in .git/config to figure out the rewriting rules from what branch.$branch.merge contains to what refs/remotes/* might be, and doing that is not quite as trivial as either using ls-remote or assuming your users have the standard layout created by git-clone and git-remote. -- Shawn. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html