From the command line (for subversion), you would checkout the project like
this:
svn co svn+ssh://cascade.cs.ubc.ca/imager/project/animation/svn-depot/ubcmocap
The 'co' means 'check out', which will get the current project. This will get
(and create a sub-directory for) the ubcmocap project in your current working
directory.
The 'svn+ssh' means use the svnserve command on the server side, in addition
to filtering things through the ssh protocol. This will ask you for your
password, unless you've setup your ssh so that you don't have to type it (for
instructions on doing that check out
http://www.csua.berkeley.edu/~ranga/notes/ssh_nopass.html
but replace
'authorized_keys2' with 'authorized_keys' in the instructions).
Once you've done that, you don't need to remember where it came from, you can
simply do things like:
$ svn update (get's / merges latest changes)
$ svn diff (see what's different on your machine compared to the depot)
$ svn commit -m "my log message" (commit your changes to the project)
$ svn rm filename.cpp (remove 'filename.cpp' from version control)
To import a new project do the following:
1) Create a temporary directory to hold your project
2) Cleanup temporary / backup files that you don't want saved (*.obj, *.o, *~)
3) Go to the root of the temporary directory of the project you are adding
(e.g. cd ~/Temp/thesis/ubcmocap)
4) Use the following subversion command to import (it's all one line)
svn import -m "A one liner about the project"
svn+ssh://cascade.cs.ubc.ca/imager/project/animation/svn-depot/
DON'T use spaces in the project names! That just makes it hard to use from the
Linux/Unix side of things.
Once you've imported it you now have to check it out ... The files you've just
imported can be deleted (and should be ... don't have multiple copies hanging
around).
Change to your project directory.
Check the project out with (again, it's all one line)
svn co
svn+ssh://cascade.cs.ubc.ca/imager/project/animation/svn-depot/
This will create a sub-directory "nameofproject" in the current directory and
get the files that you just imported.
By always routing the connection via ssh we make it transparent as to whether
you are on campus or at some remote location. The only requirement for access
will be (a) an UBC computer science account, and (b) being a member of the
'imager' group. I had to make a link on /cs/public/bin to the appropriate
svnserve command on cascade ... hopefully it will work for you guys too. Let
me know if you have trouble with it.
I'm not entirely sure how to point at the svn server from the Windows side of
things using TortoiseSVN, though the above commands work with the Cygwin
version of subversion straight out of the box.
To use the svn client from SunOS (cascade) or Linux (okangan, local machine),
use the 'use' command.
$ use subversion-1.3.1
This will setup your PATH and MANPATH appropriately for the operating system.
See http://www.cs.ubc.ca/local/computing/unix/software.shtml
for more
information about the 'use' command.
For Windows use either the Cygwin command line client, or install TortoiseSVN
and use that. The free Subversion book,
clients, and a variety of other information are all present on
http://subversion.tigris.org/
-- MichielVanDePanne - 05 May 2006
TortoiseSVN
If you use TortoiseSVN under windows, you will first need to check-out the repository. Do that by creating a directory for the project somewhere under C:\Temp\
on your local windows machine. Open an explorer window in that newly created directory, and right-click anywhere in this window to open the contextual menu. From there you have access to various TortoiseSVN functions. Select SVN Checkout...
and use the URL svn+ssh://<username>@cascade.cs.ubc.ca/imager/project/animation/svn-depot/ubcmocap
, where <username>
is your usual CS login. You will then be prompted a couple of times for your password. Answer each time and the system should eventually start retrieving the files.
Notice how the options offered in the right-click contextual menu have changed now that you are in a SVN folder. You'll most often use SVN Update
and SVN Commit...
from the root directory of the project. The first one updates your local version to reflect any change in the repository. The second one makes sure all your changes are commited back to the repository. You should figure out the rest by yourself. Don't hesitate to record any bizarre problem you come across, as well as the trick you used to get over it!
-- PhilippeBeaudoin - 17 May 2006