Forum OpenACS Q&A: Setting up and maintaining a local CVS root

I'd like some help on how best I could/should use cvs internally with
the OpenACS source. I've read some initial basic docs (some of Karl
Fogel's online CVS book, Ron Henderson's and Mark Dalrymple's
wimpypoint presentations at aD/badgertronics) and this is what I
think I'd like to implement. Please let me know if you have the same
needs but manage to do it differently! I'd like to start with either
the current OpenACS CVS tree or the 3.2.2 release and create a local
repository with that as the head. I can then checkout a local copy to
work on which will then get syncronised with the local root. This is
all just standard cvs from what I've understood so far and worked
with.

What is important is to be able to synchronise in changes that are
made in the main OpenACS tree (from sourceforge or even openacs.org
when full releases like 3.2.4/4.0 become available) as time goes on
into the local root so that we can keep the core current with the new
releases and not lose our internal changes at the same time.

It seems I should be using the vendortag/releasetag when creating our
internal root and from reading Ron's wp presentation, it looks like I
should be running something like "cvs -d /cvs import -m "importing
openacs 3.2.2" myacs OpenACS openacs-3-2-2"  - this would create a
new root service called 'myacs' tagged with 'OpenACS' as the
vendortag and 'openacs-3-2-2' as the releasetag. In the future, if I
re-imported the updated cvs root or even a full release, I could
update the releasetag accordingly and cvs would update my local root
accordingly - finding conflicts, etc.

However, after the initial import to create the local root, my local
cvs copy that is checked out seems to think I've created a new branch
and assigns a version of 1.1.1.1 to all the files. Then when I edit
and commit a change it says branch 1.1.1.1 doesn't exist and doesn't
allow the commit.

Any ideas as to how best to keep our local root current with the
OpenACS releases/sourceforge-cvs without losing internal
modifications will be much appreciated. Thanks!

Collapse
Posted by Piyush Shah on
Typical - just after I posted the message above, I retried the whole import with vendortag/releasetag yet again and it all seems to work fine (just like docs say it should!). Ah well. I'd still like to hear about any great CVS ideas/methods that are being used for managing an ACS-based development project.