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.

Hans,

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.

--Dave

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Reply via email to