NOTE: this is mostly obsolete these days (circa early 21st century CE) see git notes or gitlab notes for more recent attempts at managing branching, versioning and distributed editing.

cvs is a Version Control system for managing branching messes. just dont try renaming anything…

required reading, the “cvs book” http://cvsbook.red-bean.com/cvsbook.html

  • checkout a source tree cvs -d:ext:user@host:/path/to/cvs/public co tx-code
  • add a file/director cvs -d:ext:user@host:/path/to/cvs/public add file
  • commit changes cvs -d:ext:user@host:/path/to/cvs/public commit file

CVL

…is an OsX app http://www.sente.ch/software/cvl/

…its relatively painless for MacOS9 usage http://sourceforge.net/projects/maccvspro/

  • Checkout a source tree (should add notes for this)
  • modify stuff, add things, make everything better
  • use the “Find lurkers” command in the Edit menu to list all files that have been (changed or) added
  • select those that need to be added
  • select Action:Add for these. make a comment for them
  • select Action:Commit to put them into the CVS
  • Note: I havent updated any files with this, perhaps this needs only be committed somehow too…must check sometime
  • June2006: Not getting it working (MacCVSPro?) with error -116 each attempt

http://www.heilancoo.net/MacCVSClient/ seems to work a touch more (Tim June 2006).

YAY! If it has write access to the directory it is trying to reach, you can set up a repository and access it.

Steps to use this:

Create the CVS repository in general:

  • create a repository on the server with cvs -d /home/tim/cvs/public init
  • nothing else needs to be done on the repository!

Create a profile on your working machine

  • create a login profile for that machine under MacCVSClient? X:Preferences

Import files from the local machine into the repository:

  • import files from somewhere on your machine to it with the client, Repository:Import
  • give the module a name
  • select a local folder with the files to upload
  • create a vendor tag and branch tag
  • then these files are a module and can be checked out

Check out the module on any machine you like:

  • check out with Repository:checkout
  • the folder with the name of the module will be created on the desktop
  • then open a sandbox , this is the folder created by checking out the module
  • changes will be indicated, sandbox:commit will put these changes into the repository
  • then all other changes will be dealt with (hopeully) properly
  • a new file in the sandbox/checked out folder will be grey in the sandbox
  • this can be selected and added to the repository with Sandbox:Add
  • it still needs to be commit-ted to the repository
  • there may be a problem that to check out a module, the user needs write access in the repository folder

TimBo - 21 Jun 2006