tags:

views:

51

answers:

1

At work we use a branching strategy where all changes start off in a development branch, then subsequently make their way through one or more integration branches, and finally end up in a release branch.

Occasionally (more often than I'd like) I find myself needing to figure out where a particular change originated (which development branch). In this case I have to spend a considerable amount of time playing detective to trace a change backwards through 2-3 merges.

Am I missing an easy way to do this?

+1  A: 

With subversion 1.5 and higher a few commands have a -g option to use the megeinfo data to construct a more complete view of history. This does require you to have used subversion 1.5 or higher on the server and done all the merging with svn 1.5 or higher.

  • svn log -g
  • svn blame -g

A quick test shows that this doesn't work flawlessly (I have duplicate history entries on a fairly simple test case) but it may be good enough for what you need.

More on the new mergeinfo property:
http://svnbook.red-bean.com/nightly/en/svn.branchmerge.basicmerging.html

NUXI
Thanks - unfortunately we are using 1.4... someday...
Paul D.