[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Branch topology [was Re: Post 0.6.0 releases.]

From: John Darrington
Subject: Branch topology [was Re: Post 0.6.0 releases.]
Date: Sat, 14 Jun 2008 08:14:06 +0800
User-agent: Mutt/1.5.17+20080114 (2008-01-14)

     Here is the branching model that I was envisioning maintaining at
             - A bug fix branch for whatever is the current released
             - An active development branch that contains whatever is
               targeted to appear in the next released version of
             - Additional experimental branches as necessary for
               public and possibly collaborative long-term development
               of big features that aren't ready for the active
               development branch yet, one per feature.  For example,
               I'm assuming that the new output subsystem will be
               developed this way.  Eventually these branches get
               merged back into the active development branch, if the
               experiment is successful, and then discarded (although
               the Git history shows that the branch was merged and
               retains the branch history; that is, no information is
     Maybe my vision for as-needed experimental branches is really the
     same as your proposed branch #3?

It sounds similar, if not identical.  What you don't make explicit, is
the relationships between the branches.  As I see it, each of your
branches listed above, must be the parent of the subsequent item, but
I'm not sure if that's what you had in mind.

     In addition, I'll probably have half a dozen or so branches in
     various stages of development going locally on my development
     machine at any given time.  Over at Nicira, I've probably had as
     many as a dozen.  Git makes it trivial to create, merge, and
     discard branches, so it's my habit to use one per feature that
     I'm working on.  It appears that many Git users work this way.

I don't know if this concept fits the git paradigm, but I think of
branches as nothing more than "big" change sets.  If a developer
thinks it's useful to create his change set in separate activities,
then it's logical for him to branch it.  However, I'd like that all
such branches are at least visible to other developers, even if
they're not ready for general consumption.  That way, it avoids
duplication of work, avoids (at least some) later merge conflicts and
keeps developers pulling in the same direction.


PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See or any PGP keyserver for public key.

Attachment: signature.asc
Description: Digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]