Forum OpenACS Development: Re: cvs woes
simplified, your CVS branching should look something like this
/------ release-2003-11-18 (release) / -------------------- trunk (active development) \ \-------------- vendor branch (imports)but instead it looks like you have
-------------------- trunk (inactive) \ \-------------- vendor branch (imports + active development) \ \------ release-2003-11-18 (release)The difference between a vendor branch and a regular branch is that CVS updates the trunk behind your back (aka "for you") when you import on a vendor branch.
What I suspect happened when this was first set up is that the original working copy checkout was made with "-r initial" or one of the other early vendor import tags, which would stick the checked out sources on the vendor branch. While everything would look fine, any commits go back onto the vendor branch rather than the trunk. The release-2003-11-18 branch was then made off the checked-out vendor branch rather than off the trunk.
Unfortunately I'm no CVS über-guru, so I have no idea what's the best thing for you to do from here... sorry... I'd probably try something like this, although it may well be more convoluted than nescessary -
- do a fresh import of OACS-4-6-1 onto the vendor branch - the command line you suggested above is fine
- check out a fresh copy of the trunk -
cvs co -d trunk openacs
this should (hopefully) be the same as the 4.6.1 import you just did. If not then make it so and check it in.
- get your local changes -
cvs rdiff -u -r OACS-4-6-1 -D datespec openacs > local-diffs.txt
where datespec is just before the bad import, check the CVS manpage for valid formats
- apply your changes -
cd trunk && patch -p0 < ../local-diffs.txt
- check in your new trunk -
cvs ci
- Bob's your uncle...
Good luck!
First let me say that this really sucks and I just hate it. There I got that out. Funny but I don't feel better. I really appreciate your help on this. I know I wouldn't be thinking about this if I didn't have to!
Here's a cvs stat against a locally modified file in my development working copy
and a cvs stat of a file modified on the release-2003-11-18 branch
[tammy@goodchild:forms] cvs stat standard.adp
===================================================================
File: standard.adp Status: Up-to-date
Working revision: 1.2 Fri Nov 7 19:27:23 2003
Repository revision: 1.2 /cvsroot/openacs/packages/acs-templating/resources/forms/standard.adp,v
Sticky Tag: (none)
Sticky Date: (none)
Sticky Options: (none)
So it looks like maybe I am working off the trunk but my release branch somehow got made off the vendor branch?
[tammy@goodchild:forms] cvs stat standard.adp
===================================================================
File: standard.adp Status: Up-to-date
Working revision: 1.1.1.1.2.1 Wed Dec 3 02:30:29 2003
Repository revision: 1.1.1.1.2.1 /cvsroot/openacs/packages/acs-templating/resources/forms/standard.adp,v
Sticky Tag: release-2003-11-18__branch (branch: 1.1.1.1.2)
Sticky Date: (none)
Sticky Options: -kk
So maybe I have this?
This is how I created the release branch though...
-------------------- trunk (active development)
\
\-------------- vendor branch (imports)
\
\------ release-2003-11-18 (release)
Have to think about what to do now. Reading more on branches and numbering so I can understand what is really going on here versus what should be going on here... :( Fogel makes nice bedtime reading...
cd $OACS_DEV_ROOT
cvs tag release-2003-11-18__root
cvs tag -r release-2003-11-18__root -b release-2003-11-18__branch
cd $OACS_TEST_ROOT
cd ..
cvs -q checkout -P -kk -r release-2003-11-18__branch -d or-test openacs
much thanks and metta:)