CVS and Arch co-development

Kristian Kvilekval <[email protected]> Thu, 26 Feb 2004 11:13:03 -0800
Newsgroups gmane.comp.audio.zinf.devel
Message-ID <1077822782.13393.1568.camel@krispc>

I am having trouble rsync'ing my zinf--mdb--0.2 branch 
to the zinf--cvstrunk--1.   I think this may be because
some changes have been duplicated in both an arch archive
and the CVS, in effect arch is seeing the patch applied twice
and giving me conflicts.

I think There should only be one CVS<>arch gateway or at least
all changes that exist in an arch version should be 
done through zinf--cvstrunk--1

The status:

I have an arch/CVS tree called  zinf--cvstrunk--1,
which is CVS/arch gateway that I use.  All other zinf branches
stem from the gateway like so:

|CVS|----|zinf--cvstrunk--1|
                  +----|zinf--mdb--0.2|
                  |          +=|zinf--mdb--0.3|   
                  +----|zinf--fixes--2.2.5|
                  +----|zinf--release--2.2|

zinf--mdb--0.2 is where my mdb changes are 
while zinf--mdb--0.3 is David's work on browsermm.

zinf--fixes--2.2.5 and zinf--release--2.2 are new branches
for work unrelated to mdb and browsermm and tagged 
versions respectively.

Unfortunately, I think what has happened is that some
changes where applied to my archive mdb--0.2 using 
star-merge, but the same ones are also being applied through
the latest zinf--cvstrunk--1 (which got them through CVS).
I am still fiddling, to get this worked out.

What I would like to do is setup up a central zinf--cvstrunk--1
that everybody can branch off of (branch from a branch also OK),
but that all changes (from the arch world) go through cvstrunk--1 
That way, we can star-merge with each other and cvstrunk--1
all we want.   Changes soley made in CVS will come
back as patches from cvstrunk--1.  

I think this is the layout that will work (known branches)

|CVS|   <=>  |cvstrunk--1|                       (CVS gateway)
                  +  zinf--musicbrowsermm--0.3   (david's extensions)
                  +  zinf--mdb--0.4              (kris's extensions)
                  +  zinf--fixes--2.2.5          (2.2.5 bug fixes)
                  +  zinf--releases--2.2         (tagged releases)
                  +  zinf--rotty--0.1            (andreas's fixes)
                  +  zinf--debian--2.2.5         (andreas's debian)

(names are just suggestions)

People that are using arch should commit to CVS only through
trunk.   I think this will keep our patch sets clean and keep
everything star-merge'able with a minimum of conflicts.

Comments and suggestions?

I have also been playing around with cscvs and it seem  pretty 
cool, so it may make sense to recreate cvstrunk (at least 
partially) using that tool  before these branches are created.


References:
http://wiki.gnuarch.org/moin.cgi/Centralized_20Development
http://wiki.gnuarch.org/moin.cgi/Arch_20and_20CVS_20in_20the_20same_20tree

-- 
Kristian G. Kvilekval
email:[email protected] office:(805)893-4276 http://www.cs.ucsb.edu/~kris



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click