CVS

Concurrent Versions System

the main Open Source software Source Code Version Control System.

http://www.cvshome.org/

http://cvsbook.red-bean.com/

Python/WebApp interfaces - want to auto-link WikiWord-s in comments

I'm using TortoiseCVS as a GUI interface for the moment.

Commands:

  • 'cvs checkout' is to take a copy of the files from the repository

  • 'cvs update' tells you which files in your working sandbox have changed since you checked them out

  • 'cvs diff' shows you the differences between your sandbox and the repository

  • 'cvs commit -m (change label)' checks your sandbox changes into the repository

  • 'cvs update -j' is to revert to an earlier version (copy it to a new version) in the repository

But how should I really use this in a webserver environment? (with dev, staging, and production servers)

  • make a shared repository

  • checkout to local dev machine to do work

  • commit to repository after each chunk of work is done/tested (Test Driven Development)

  • when doing final test/staging,

    • insert a tag to tie together proper versions of multiple files, then commit

    • from staging machine do a 'checkout' to grab the tagged versions - not sure whether this is good idea

I'm using TortoiseCvs as GUI client now, with Exam Diff.

To view diff between versions, pick file, view History, cmd-click on 2 versions, right-click...


Edited:    |       |    Search Twitter for discussion