Log in to cvs.cs.mcgill.ca using ssh, then
Replace XX by your two digit group number, and “repo” by whatever you feel like. Now, put some ﬁles in the repository
It helps if your project has the following directory structure:
You’ll see why once you’ve used subversion for a bit. After the initial import, check out your project with
Where project will be the local directory name.
svn commands have the following syntax:
(Familiar to those of us who’ve struggled with CVS before…)
blame Shows detailed author and revision information for file(s).
commit Send changes from working copy to the repository.
delete Delete item from working copy or repository.
export Create a clean copy of the repository.
log Display commit log messages.
move Move a file or directory.
status Print status of working copy.
diff Display difference between working copy and remote repository.
update Update working copy from repository.
You can also use svn from the labs or from home by substituting ”ﬁle:///” for ”svn+ssh://firstname.lastname@example.org/”.
Here’s an example session, assuming that I’ve already created the repository with the svnadmin command on cvs.cs.mcgill.ca, and I’ve set up my project with the above directory structure. Try it to see what’s going on.
[ I can now rm -rf joos since it’s on the cvs server]
svn checkout svn+ssh://email@example.com/xtra/group9/joos/trunk joos
[ I can now work in the new joos directory. Some time passes. What have I changed?]
[ Group members say they have commited some code. Let’s see what they did. ]
svn blame -r COMMITTED:HEAD *<
[ I’ve worked on the peephole optimizer for a bit… time to let my group-mates know ]
svn commit -m ”Added some more optimizer patterns”
http://subversion.tigris.org/ - Main svn site
http://google.com - There is tons of help to be found, including quick reference cards.
svn help [command]