When a repository is created an email will be send to your email account with information about the repository.
The same page can be used to manage repositories (e.g., to add your fellow group members) or to change your subversion password.
Subversion is already installed at DAIMI hence you don't need to install anything to use it at campus. However you may need to install a Subversion client on your private machine. Instructions for doing so are available on the Subversion homepage.
Here's a summary of some of the terminology connected with version control under Subversion.
To set things up you need to do two things:
We assume that you want to create a project called 'myproject'. To do so, we create a temporary directory, tmp, where we place the subdirectory 'myproject'. Inside 'myproject' you create three subdirectories: 'trunk', 'tags', and 'branches'. 'trunk' will contain the latest version of your project, 'branches' contains different, named branches of your main project, and 'tags' is for Subversion's bookkeeping. Consult the Subversion book for more details.
In total that adds up to the following nine steps:
1. mkdir tmp 2. cd tmp/ 3. mkdir myproject 4. cd myproject/ 5. mkdir trunk 6. mkdir branches 7. mkdir tags 8. cd.. 9. svn import https://svn.nfit.au.dk/svn/dOvs2011-groupXX -m "Initial project layout."The last step imports the structure into the given repository and Subversion responds with a message along these lines:
Adding myproject Adding myproject/trunk Adding myproject/branches Adding myproject/tags Committed revision 1.Now you are ready to check out a version of your project to work on.
If you want to add all the files and directories from the Joos compiler skeleton proceed as above and afterwards either run
svn import https://svn.nfit.au.dk/svn/dOvs2011-groupXX -m "Added Joos compiler skeleton."from the directory containing the skeleton, or check out a working version of the project, copy the skeleton to the working directory and add it (as described below).
svn checkout https://svn.nfit.au.dk/svn/dOvs2011-groupXX/trunk
svn updatedownloads the latest changes made to the current directory from the repository.
svn commit -m "put a descriptive comment about the latest changes here."uploads any changes from the local copy (in the current directory) to the repository. If further changes have been made to the project since you last updated, svn will ask you to update to the latest version before you commit.
svn add SOMENAMEadds a file or directory called SOMENAME to the current project. Remember to commit the file after having added it.
svn difflists the differences between the local copy and the repository's version of the current directory.
...
C .../mydir/myfile
...
You solve a conflict by manually editing the file in your text editor. The changes from each version will be indented with special tags like '>'. Once you have figured out how to merge the changes and deleted all the special tags, you need to run
svn resolve mydir/myfileto indicate to svn that you have worked out the conflict. Then commit the merged version back to the repository.
(Based on an earlier Subversion guide by Janus Dam Nielsen.)