What do you think about cherry picking?

Dave Smith dave at thesmithfam.org
Sun Nov 25 19:43:44 MST 2007

Hans Fugal wrote:
> Here's the scenario. Consider two branches of a source tree, let's call
> them stable and unstable for the purposes of this discussion, but they
> could be e.g. Andrew Morton's tree and Linus' tree, or whatever. A bug
> is noticed by the unstable dev, and fixed. Now, or later, we want to
> "cherry pick" (or "backport") that bug fix, but not all the
> destabilizing changes on the whole unstable branch.


Sorry for the late reply, but thank you for the thought provoking post. 
I have often wondered about this, although in a slightly different scenario.

My scenario is very similar to the one you describe, but backwards. I 
usually do a release, branch the code (in Subversion or CVS), and 
continue on with new development in the trunk, making only bug fixes 
(theoretically) in the branch. After branching, if a customer requests a 
change in the release, we fix it in the aforementioned release branch, 
which of course we usually want to merge into the trunk. For me the 
merge is almost always a manual process, except in the most trivial 
cases (which get more rare as the two code bases diverge over time).

This seems like an extremely common scenario, and I've always been 
surprised at how hard it is to do. It ought to be trivial given the 
frequency of the task. Does your distributed source control system of 
choice make this easier?

Sorry I haven't answered your question. I'm still trying to figure out 
things myself.


More information about the PLUG mailing list