wiki:AccessCheckAPISource

Using SVN

This is the page of how to use SVN for all contributors, regardless of whether they are able to commit code themselves.



Browsing SVN through Trac

Anybody can browse the SVN tree using their web browser. This is available to anonymous users.

Setting up Subversion

On Windows

Get SVN

Download the win32svn installer from http://sourceforge.net/projects/win32svn/files/1.6.17/Setup-Subversion-1.6.17.msi/download

Install it.

Configure icon paths

The environment variable for the icons is not set by default.

Open up a command prompt (see this video for details) and type:

SET APR_ICONV_PATH = C:\Program Files\Subversion\iconv

Test Environment variables

Now that we've installed svn, we should test that it was installed correctly.

Open up a command prompt, type svn --version, and hit the enter key. The output should be similar to the following:

C:\Users\User>svn --version

svn, version 1.6.17 (r1128011)

   compiled Jun  2 2011, 23:35:08


Copyright (C) 2000-2009 CollabNet.

Subversion is open source software, see http://subversion.apache.org/

This product includes software developed by CollabNet (http://www.Collab.Net/).

The next thing to test is that the path to the iconv folder was set correctly. To do that, type echo %APR_ICONV_PATH% into the command prompt, and hit enter. The output should be similar to the following:

C:\Users\User> echo %APR_ICONV_PATH%
C:\Program Files\Subversion\iconv

On Linux

Open a terminal.
Type the following into the terminal, and then hit enter:

sudo apt-get install subversion

Anonymous access

To check out the repository anonymously (read-only):

svn co https://checkapi.poly.edu/svn/project/

Then use "cd" command go into "project" folder.

cd project/

After running the command, you can verify your new settings with svn info:

~/project$ svn info
...
URL: http://checkapi.poly.edu/svn/project
Repository Root: http://checkapi.poly.edu/svn/project
...

Contributor / Developer access

Test all code before checking it into SVN.

For Windows, see Configuring SVN on Windows?

To commit changes to the repository, you must have an ssh account on checkapi.poly.edu, which hosts the CheckAPI SVN server. To gain access email CheckAPI@cs. Which Email? Once you have http access to the machine, you can use the following command to checkout (co) the trunk from anywhere:

svn co https://checkapi.poly.edu/svn/project/

If you want to perform the checkout as another user (e.g., "USER"), then use the following command:

svn co https://USER@checkapi.poly.edu/svn/project/

Example SVN commands

Test all code before checking it into SVN.

To look inside a directory without checking anything out:

svn list http://checkapi.poly.edu/svn/project

To check out the entire Seattle repository:

svn checkout http://checkapi.poly.edu/svn/project

To check out a subdirectory of the repository:

svn checkout http://checkapi.poly.edu/svn/project/checkapi_socket

To find out some basic information about a checked-out copy, such as the repository root, last changed rev/author/date do:

svn info

To contribute code back to the SVN server, first perform an update, then a commit:

svn update
svn commit

To track new files/directories, or remove those which are already tracked:

svn add [filename]
svn remove [filename]

If you have conflicts, you must tell SVN explicitly that you have resolved them, otherwise SVN will fail to commit/update these files:

svn resolve [filename]

If you perform an svn status in a folder, it recursively lists all the Modified (M), Deleted (D) and Added (A) files. It will also list files that are in conflict (C) and those about which SVN does not know (?). To see what modifications were made to individual files marked with an M, you can perform a diff:

svn status
svn diff [filename]

If the CheckAPI SVN repository moves to a new machine, you can relocate your existing checked-out version using the following command. Here old_repo and new_repo are paths to the old and new roots of the repository that you can find out with svn info:

svn sw --relocate old_repo new_repo

For more information about using SVN, reference this list of useful SVN commands.

Last modified 4 years ago Last modified on Jun 6, 2013 2:23:05 AM