Question

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?

Was it helpful?

Solution

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top