cvs

Tracking Changes

Undefined

From within /home/dirk/theirproj-1.0: cvs import -m "Import of TheirProj 1.0" theirproj THEIRPROJ_1_0

then: cvs co theirproj

Now I have to import Version 2.0 of TheirProj, run this from within /home/dirk/theirproj-2.0: cvs import -m "Import of TheirProj 2.0" theirproj Them THEIRPROJ_2_0

then do cvs co -j THEIRPROJ_1_0 -j THEIRPROJ_2_0 theirproj and resolve the conflicts.

Commit the changes with cvs ci -m "some message".

Technology:

Updating to a tagged version

Undefined
cvs up -r tag tag-name

Technology:

Remove a tag

Undefined
cvs up -A filename

Technology:

Tagging a version

Undefined
cvs tag tagname

Technology:

Checking out of a tagged version

Undefined
cvs co -r tag tagname

Technology:

Merging changes from branch to trunk

Undefined
cvs up -A
cvs diff -r branchname
cvs up -j branchname
cvs ci -m "merged changes from branchname"
cvs tag -m branchname_merge_number

First I move my changes off the branch, then review the changes with cvs diff, and then do the actual merge.

Always tag the branch after a merge! That makes multiple merges much easier.

Technology:

Branching

Undefined
cvs tag tag_before_branchname
cvs tag -b branchname
cvs tag tag_after_branchname
cvs update -r branchname

You should always tag before and after branching.

If you have uncommitted changes in your current copy, you may want to checkout the branch instead:
cvs co -d target_directory -r branchname

Technology:

Setup a CVS commit mailing list with diffs

Undefined
  • Download logdiff from http://cvs.pld-linux.org/cgi-bin/cvsweb/CVSROOT/logdiff.pl

  • cvs co CVSROOT/checkoutlist
  • Edit checkoutlist and add logdiff to the list of files i
  • cvs ci -m "added logdiff.pl" CVSROOT/checkoutlist

  • Move logdiff.pl to CVSROOT
  • cvs add CVSROOT/logdiff.pl
  • cvs ci -m "added logdiff.pl" CVSROOT/logdiff.pl

  • cvs co CVSROOT/loginfo
  • Edit loginfo and add a line like this:
    DEFAULT /cvsroot/CVSROOT/logdiff.pl --diffs --mailto cvs-commits@dirkgomez.de --logfile commits.log %{sVv}
  • cvs ci -m "added logdiff.pl" CVSROOT/loginfo

Technology:

Create a repository

Undefined
cvs -d /fullpath init

Create a unix group cvs and add all the users who need access to the repository, then change the repository's group ownership and permissions.

Technology:

Revert to an older version

Undefined
cvs up -j new_version -j old_version filename
cvs ci -m "reverted to old_version" filename

Technology:

Pages

Subscribe to RSS - cvs