CVS
the main Open Source software Source Code Version Control System.
Python/WebApp interfaces - want to auto-link WikiWord-s in comments
-
Greg Stein built ViewCVS, a (Python-based) CGI script to browse CVS repositories (similar, but better than Cvs Web).
-
CvsToys is used by the Twisted Matrix folks - it's built on Twisted (Python).
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: | Tweet this! | Search Twitter for discussion