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?