gnu-arch-users
[Top][All Lists]
Advanced

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

RE: [Gnu-arch-users] What is arch? (Alternative answer)


From: Parker, Ron
Subject: RE: [Gnu-arch-users] What is arch? (Alternative answer)
Date: Wed, 25 Feb 2004 10:01:55 -0600

> Sent: Wednesday, February 25, 2004 9:21 AM

>     With CVS and most other "central repository" systems, code is 
> structured as a tree, with some concept of a trunk that 
> represents the 
> main line of development. Since 90% of most development work consists 
> of making small changes to the main line, this works well for those 
> cases. The problem comes in when a developer or set of developers has 
> to make a large change, one that will possibly break a large chunk of 
> the code for a long while. That's when branches come in. The 
> problem is 
> that branches don't generally work that well in practice with most of 
> these systems, because development doesn't just branch it actually 
> proceeds in parallel. So most of these systems are great at 
> branching, 
> but lousy at merging.

> With arch, change history works more like a network of interconnected 
> trees, with the capability of merging changes between any two trees. 
> Starting a new tree is easy, and linked to the old tree, so trees can 
> be built as needed. With easy to make trees each developer will often 
> have their own tree, which they can share with others. Or a new tree 
> can be started based around a new task. While that sounds more 
> complicated then having one central tree, in practice, it 
> turns out to 
> be easy, and closer to how developers actually work.

The whole thing reminds me of rooting and grafting plants.  It's not an
exact analogy, but few are.  There are various methods, but as an example
you can make incisions along the length of a small branch and then pin those
areas to the ground under a little dirt.  After a while they will take root
and can be cut free from the rootstock.  Once they have grown leaves of
their own and put forth a couple nodes, they may be transferred to a new
location.  These can in turn be used to develop scions to graft back into a
good rootstock.  This is probably more than any developer wants to know
about managed plant propagation and development, but the point is that many
trees can be made from the master and it is easy to graft what grows on
those new trees back into the original or into any other tree at a later
date.

It is important for development that both the branching out and grafting
back in of separate lines of development be as simple as possible.  This is
one of the many strengths of arch.

"Danger, Will Robinson!  Danger!  Bad humor ahead."

Of course we may want to avoid any reference to grafting, since in the
political sense "grafting" is often related to accepting illegal and
unethical contributions, which is exactly what SCO is accusing the free
software movement of.

-- 
Ron Parker

Vitreous humor is when you slip during a prat fall and put your eye out.




reply via email to

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