On Mon, June 16, 2008 1:09 am, Andrew Lentvorski wrote: > David Brown wrote: >> On Sun, Jun 15, 2008 at 06:50:13PM -0700, Lan Barnes wrote: >> >>> But branching just because you want to check something in you don't >>> have >>> working yet makes little sense. >> >> I think this philosophy must come from revision control systems that >> make >> branches expensive. With my git development, everything I checkin is >> already on a branch. I can very cheaply create new branches. It is >> typical to have several branches going at the same time, especially if >> I'm >> working on more than one idea at a time. >> >> But, without free branches, it's probably hard to see just how useful >> this > > No, it's more about "what does a branch indicate?". > > For me, a branch is something that is *not* going to get reintegrated > back into the main line later on in the future. And, Lan's examples > seem to be pointing in that same direction. > > -a
Thanks for putting it better than I did. And "*not* going to get reintegrated back into the main line later on in the future" is a _little_ extreme. But branching is like punctuation. It can sow confusion or it can prevent confusion. So you should discuss branching before doing it, have a defined reason to, and delay the branch as long as possible. Finally, there should be a merge plan from the start. Also note that I am not discussing branch-on-checkout tools like perforce. Sure, every time you check out to a new sandbox, you have a potential new branch. But every wet dream has the _potential_ of being battalions of new people -- that doesn't make it a good idea. The "cost" of branching has nothing to do with computer resources. It has to do with assaults on logical clarity. If you branch willy-nilly on every whim just because the tools make it easy, your project will descend into the chaos of idiosyncratic development with code snippets of value scattered in hundreds of little windy tunnels, all alike. Of course, some developers like that. I wonder how many branch lovers have ever been asked to do a complex code merge across a span of several branches with scattered common ancestors? -- Lan Barnes SCM Analyst Linux Guy Tcl/Tk Enthusiast Biodiesel Brewer -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list
