Tutorial thanks to Erik Beeson:
UCSC runs an implementation of GForge that they call DForge
(http://dforge.cse.ucsc.edu/) for managing collaborative projects.
Unfortunately, you have to sign-up to access it, so it's yet another
username/password (I think I have 5 separate accounts at this university
for different things). You'll use this username/password for everything
having to do with DForge. Fortunately, you only have to do it once and
it's pretty painless. So check out the aforementioned website and sign up.
To commit anything to the project, you have to be a member of the project,
so after you create an account, send me an email and tell me what your
DForge username is and I'll add you to the project.
What do we get for all of this trouble?
A website: http://meshshop.dforge.cse.ucsc.edu/
A Wiki: http://wiki.meshshop.dforge.cse.ucsc.edu/
Subversion: http://svn.dforge.cse.ucsc.edu/meshshop
Forums, Issue Tracker, Mailing Lists, File Release Management, etc, etc.
Check out the project webpage to see everything available:
http://dforge.cse.ucsc.edu/projects/meshshop/
A really quick intro to Subversion (SVN). From the Sun machines on
campus, you can find svn here:
/afs/cats.ucsc.edu/courses/cmps115-cf/svn/bin/svn
Add that bin dir to your PATH environment variable if you don't want to
type the full path everytime. If you don't know how to do this, you can
cheat and make a symlink in your own bin dir, which is probably in your
path by default:
mkdir ~/bin
cd ~/bin
ln -s /afs/cats.ucsc.edu/courses/cmps115-cf/svn/bin/svn
Before you can add anything, you have to check out what's already there.
When you check out, a directory called 'meshshop' will be created the
current directory.
svn co http://svn.dforge.cse.ucsc.edu/meshshop meshshop
You may need to enter your DForge username/password. When the checkout
completes, you'll have a new directory called 'meshshop' that holds the
latest version of the code.
To put stuff into the repository, you don't just "check in" the files you
want to add. SVN doesn't even have a "checkin" like CVS. Instead, you have
to "add" the files to your local repository, then "commit" your local
repository to the remote repository:
svn add plugin/display/myplug/myplug.c plugin/display/myplug/myplug.h
svn commit
When you do commit, a window will open with your defaut text editor
(probably vi). Enter information about what you're committing here, then
save the file and quit the editor. Please enter a somewhat intelligent
comment for all of your commits as it helps everyone else figure out what
you're doing and why. If you don't know how to use vi, ask somebody how to
change your editor to something you can use.
SVN has lots of commands, feel free to use them.
REALLY BIG NOTE: You can use wildcards when using the 'add' command,
but please please please be careful to NOT 'add *' in the root directory
after you've tried to compile your code as this will fill the repo with
all of your garbage object files and what not that nobody wants. Make sure
to only add files that you intend to be committing. Also, don't hesitate
to commit your code as often as you'd like.
As has been mentioned before, if you're developing in windows, TortoiseSVN
makes life really easy. It integrates into your windows shell so you can
right click in the directory where you want to checkout meshshop, click
Checkout, enter the above information, and you're good to go. To add
files, right click them and select "Add", to commit... you get the
idea.
One last note: be careful when you rename or move files that you have
checked in. You have to "move" them in svn to.
And very last, but not least, `svn help` and `svn help ` are
you friends.
Any questions, don't hesitate to ask. Go sign up with DForge and send me
an email with your username.
--Erik