**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. ==== using CVS ==== 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 ====notes==== * **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 ====tools with a GUI==== CVL ...is an OsX app http://www.sente.ch/software/cvl/ ====Using MacCVS==== ...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 ====Using MacCVSClient==== 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