Using svn for this class

DJ has created the following svn repository for us:
https://repo.bowdoin.edu/svn/ltoma/cs3250spr2016
Here are the groups:
group 1:  Jacob  and Ethan
group 2:  Martin and Jeonguk
group 3: Bobbyand Demi
group 4: Carolina  and David 
group 5: Garrett
group 6:  Marcus and Parker 
group 8: Inho 
group 9: Phil 
goup10: Jimmy 
group11: Kote 
group12: Drew
To check out the folder, go to your desired machine in the desired path, and type:
svn co https://repo.bowdoin.edu/svn/ltoma/cs3250spr2016/groupX
(replace X by your group number)
For example:
[ltoma@lobster ~]$svn co  https://repo.bowdoin.edu/svn/ltoma/cs3250spr2016/group2
Checked out revision 1272.
[ltoma@lobster ~]$
This will create a clone group2 in the current directory. This is a clone or copy of the group2 folder on the server. First time the folder will be empty (cause you didn't put anything in it yet).
[ltoma@lobster ~]$cd group2
[ltoma@lobster ~/group2]$ls
[ltoma@lobster ~/group2]$
Create a folder inside your group for each assignment
[ltoma@lobster ~/group2]$mkdir p1_graham
[ltoma@lobster ~/group2]$ls
a2-graham
[ltoma@lobster ~/group2]$
[ltoma@lobster ~/group2]$cd p1_graham/
[ltoma@lobster ~/group2/p1_graham]$
Now you’ll want to copy some code in p1_graham. Below you can see how I copy the startup code. You need to change it so that you copy from wherever the most recent version of your code is.
[ltoma@lobster ~/group2/p1_graham]$cp /Volumes/CS/ltoma/public_html/teaching/cs3250-CompGeom/spring16/Code/hull_startup/c/* .
[ltoma@lobster ~/group2/p1_graham]$ls
Makefile
geom.h rtimer.c
viewPoints.c
geom.c
rtimer.h
viewPoints 
[ltoma@lobster ~/group2/p1_graham]$
Great, now you got some code in your folder. Do an svn stat to see what the svn thinks about what files changed:
[ltoma@lobster ~/group2/p1_graham]$svn stat
?       p1_graham
This tells you p1_graham is not aded to svn. You have to add it:
svn add  p1_graham
Then commit:
svn ci -m "here is the startup code"
You will have to add a file every time you create a new file. The svn should only contain header, source and make files, and not objects and executables.

Now you got the startup code in svn. From this point on, your basic routine will be: update, edit, commit. As you start your programming session, you first update your version of the code to the most recent version from the server

[ltoma@lobster ~/group2/p1_graham]svn up 
Next you code away, and at the end, you send your changes to the server:
[ltoma@lobster ~/group2/p1_graham]svn  ci -m "explain here what is different in the code you are checking in wrt the previous version"
The main thing to understand is that the code is saved on the server, and what you have on your computer is a local copy of the code on the server. You can have as many local copies as you want, and the other people in your team can have their own local copies. Each one of you will modify their own local copy, and they need to send their changes to the server; this is done via the command svn ci (svn terminology, stands for checkin); or push (git terminology). To grab the most recent version from the server, you need to pull (git terminology) or co (svn terminology, stands for checkout).

Hope this gives you sufficient details to get started with svn. Let me know if you encounter any problems! In time you will see that svn is incredibly helpful and you will become addicted.


Last modified: Thu Feb 18 17:32:08 EST 2016