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

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

[Gnu-arch-users] Genealogical branches


From: Ron Parker
Subject: [Gnu-arch-users] Genealogical branches
Date: Sat, 18 Feb 2006 00:21:35 -0600

Huh? Genealogical branches? Does this look like ancestry.com?

Give me a minute before hitting delete and I will explain. I've been
quietly and successfully using GNU-arch for most of my work for
sometime now.  Granted I've been away from heavy team-based
development for months, but I even use it for my lecture notes and
other things.

However, I recently came across a development need that I don't think
arch is completely equipped to handle.  Please tell me I am wrong.  I
have found a way to abuse git into handling this,
http://www.gelato.unsw.edu.au/archives/git/0602/16650.html. But I
would prefer to stick with arch, if I can.

I couldn't think of a way to make arch do what I wanted, which may be
simple ignorance on my behalf.  But after a few hours of playing with
git I understood its content-indexed DAGs well enough to coerce it
into doing what I wanted. Now that I grok why I've been able to make
(g)it work, I'm hoping to get some deeper insights into arch.

The issue is that I want to have a directory which will ultimately
contain selected portions of the final product's genealogy in addition
to other files. For example:

       README
       ...
       test1
       test2
       test3a
       test3b
       ...

And each testN file is developed sequentially from the preceding one.
Now this directory doesn't retain every iteration of a file, just
selected snapshots.  But I want to retaining full history and
maintainability across all the steps. The thing is, since I'm not
perfect, there have been occasions where I have found mistakes in an
earlier step that need to be corrected and propagated to the later
ones.

So the basic idea is create README & test1 as step1. "Branch" that to
step2 and rename test1 to test2.  Hack on test2. Branch that to step3
and continue ad nauseum.  Now checkout step1. Make a fix to test1.
Then "pull" or "roll" the fix forward into the descendants in the rest
of the branches.

Finally I need a genealogical branch, call it "final", into which I
pull the contents of all the various steps.  It should be a
conglomerate showing the selected genealogy.

In other words, it should have a copy of the latest test1 from step1,
the latest test2 from step2, etc. and since README was never renamed
it should contain the README from whatever the latest step was.

Does this make sense?  I know its a fair abuse of an SCM, but I
considered it a nice challenge and it really helps me to not be lazy
and only apply fixed to the later steps leaving the prior ones with
typos or other errors.




reply via email to

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