I have implemented a subversion software and document
repository for the research group.
You should be able to access it from both inside and
outside SCE using your SCE username and password.
Basic Subversion (SVN) terminology:
Repository: Database on server that contains all of the versioned files and directories for projects, data, papers, etc. In the case of Prof. Dansereau's SVN repository, it is found at
svn+ssh://USERNAME@avdsp-server.sce.carleton.ca/svn/group/
(with USERNAME replaced by your SCE unix id.)
If you don't have access with your SCE unix id, then you should request access from Prof. Dansereau.
Check out: To download files/directories from the repository to your computer as a "working copy".
Working copy: A local copy on your computer of a version of a set of files or directories that is meant for editing and later submitting back to the repository. Note that extra "control" files exist in the directories ".svn". Do not edit/delete the ".svn" directories if you want to later submit your updates to the repository.
Commit: Attempt to send changes you have made in your working copy back to the repository as the next version. Note that there may be some conflicts to resolve if multiple people have been editing the same parts of the same files.
Update: Check your working copy compared to the repository and update your working copy to the latest version from the repository. If you had previously checked out a project to your working copy, and then someone else made a commit and revised some of the project's files on the repository, then doing an update would ask the repository for these changes so that your working copy could be updated.
Export: To download files/directories from the repository to your computer, but just as regular files/directories and not as a working copy. No ".svn" directories will exist in the export. This option usually only used if you want to use the files but have no intentions of submitting any revisions back to the repository.
Import: To submit new projects/papers/data to the repository. Usually only used when you want to submit an entirely new project to the repository and is a quick way of importing new projects instead of trying to build a working copy and then committing the changes with the new project.
Note: You will be prompted for your password often for the below points. To only have to enter your password once, follow the SSH password-less instructions.
To browse the SVN repository:
Open Windows Explorer and select from the menu
File->TortoiseSVN->Repo-browser
(or possibly File->My Computer->TortoiseSVN->Repo-browser)
and when asked for the URL enter
svn+ssh://USERNAME@avdsp-server.sce.carleton.ca/svn/group/
where you replace USERNAME with your SCE user id.
To Check out a project:
After browsing through the repository, right click on the file or directory tree you wish to check out and select SVN Checkout. In the window that appears, you also need to select a local check out directory to create your working copy (suggestion, create a new folder under your My Documents folder).
Code Standards
I insist on the following standards for svn files:
Data
Data should be compressed and checked into the data
module.
All data directories must contain a description of
the data: what was acquired, what equipment, experimental setup,
environmental conditions if relevant (pressure, temperature),
and all other relevant experimental variables.
Code
Code should be checked into the appropriate directory under
Proj
All code must contain the SVN ID $Id:$ within the
initial comments at the file start. The following example
shows file header comments
Please feel free to aggressively delete cruft code.
SVN will retain the old versions if there is ever a need
to retrieve them.
Papers
Draft papers will be written in HTML or TeX. (This will allow
proper version management and permits collaborative editing.)
Once the text has been approved, the final version can
be manipulated in a word processor.
All figures must come with a set of instructions
that allow it to be regenerated from the original data.
The preferred embodiment of these instructions in a
Makefile or a Matlab file.
Papers, and related documents should be checked into the
Proj module in a location near the analysis code.
Note: This document is a modified version of Prof. Adler's SVN instructions.
Last Updated:
$Date: 2009-04-12 07:21:26 -0400 (Sun, 12 Apr 2009) $