Forum OpenACS Q&A: Re: CVS

7: Re: CVS (response to 1)
Posted by Richard Hamilton on
Here is the result of a 'cvs status -v' on a file I have modified and want merged.

To get to this point I:

1) Imported a blank un-altered openacs-4-6
2) Imported my modified openacs-4-6 with a different vendor tag (Milex)and release tag (openacs-4-6-mod)
3) Created a branch with 'cvs rtag -r openacs-4-6-mod -b milex openacs'
4) Imported a blank un-altered openacs-4-6-3

I now seem to have the openacs-4-6-3 stuff in the wrong branch.

I would be most grateful for some guidance on what do I do now to merge my changes so that I get both the openacs-4-6-3 updates and my own mods?

File: navigation-procs.tcl	Status: Up-to-date

   Working revision:	Tue Apr 27 10:42:54 2004
   Repository revision:	/web/cvsroot/openacs/packages/acs-tcl/tcl/navigation-procs.tcl,v
   Sticky Tag:		openacs-4-6 (revision:
   Sticky Date:		(none)
   Sticky Options:	(none)

   Existing Tags:
	openacs-4-6-3            	(revision:
	milex                    	(branch:
	openacs-4-6-mod          	(revision:
	Milex                    	(branch: 1.1.1)
	openacs-4-6              	(revision:
	OpenACS                  	(branch: 1.1.1)
9: Re: CVS (response to 7)
Posted by Nis Jørgensen on
At least now it is clear to me why your attempts don't work. You imported all three versions of the code on the SAME vendor branch.  (I believe the vendor tag being different doesn't matter for the branch creation - but would have to look into cvs documentation for that)

This is indeed different than what you described in an earlier post:

  1)  Untar a virgin openacs-4.6 tarball and add to cvs with 'cvs import' as 'service0' with release tag openacs-4-6 and checkout.
  2)  Copy my modified openacs-4.6 over the top of the virgin 4.6 in the file system.
  3)  Commit the changes.

If you had done this, your commands should give the result needed.

With your current setup,

  cvs co -r milex -j openacs-4-6 -j openacs-4-6-3


  take revision (milex)
  apply the changes from 1.1.1 -> 1.1.2
  apply the changes from 1.1.2 -> 1.1.3

The first set of changes have been applied already, so CVS just ignores them (apparently).

At this point, your working copy is sticky-tagged as being milex, but really is 4.6.3.

I assume you misprinted the last command - and it really is

  cvs co -j milex

This will merge your current working copy (which is 4-6-3) with the changes between the TRUNK (4-6) and milex. Voila.

Not the easiest way to the goal, but one of them. Don't forget to commit your work 😊