Svn.science.purdue.edu

From College of Science IT Wiki

Contents

svn.science.purdue.edu

What is subversion?

Subversion is a popular versioning control system (like, CVS, RCS, MS Visual SourceSafe, git, etc). Subversion is commonly used for distributed, multi-person development projects. I think our use is to have a place to share code or documents, the functionality of allowing collaborative development is a benefit.

What software do I need?

If you develop on a unix (including osx) chances are good that there's already the command line subversion client svn" installed. At the least it should be easy to install. There are sundry gui's also available. Check out TortoiseSVN for Windows.

You can view, but not commit to, the repository through a web interface (requires Purdue Career Account).

Connection Details

The repository url is: https://svn.science.purdue.edu:9443/cos

You can see the current directory structure through the web interface. Feel free to add onto the existing structure. Perhaps discussion of modifying the existing structure can occur on this page's Discussion tab.

HowTo

The CosIT blog contains a post on how to edit existing content as well as how to create new content in the College of Science repository. Note that the server requires you to login with your Purdue Career username and password.

Using the command line client (below is a quick reference for using the svn client, you should look at the real documentation):

Before going any further: The command-line svn client (at least) has an Insecure Defaults flaw. If you do not change the default, it will store your Purdue Career Account password in clear text in a file under .subversion/auth/svn.simple/ in your home directory. To change that, set store-passwords = no in ~/.subversion/config. (This change will cause the command-line client to prompt for your password on every use.)

  • svn mkdir https://svn.science.purdue.edu:9443/cos/web/php -m 'Creating a php/ directory for language organization.'
    • Creates a new directory in the repository.
  • svn import mydir/ https://svn.science.purdue.edu:9443/cos/web/php/ -m 'Descriptive comment'
    • Imports the contents of mydir into the php/ sub-directory.
  • svn co https://svn.science.purdue.edu:9443/cos/web/php/
    • Checks-out a directory into your current working directory.
  • svn status
    • Lists the status of the checked out files/directories (Added, Deleted, etc).
  • svn diff
    • Lists differences between the local copy and the files on the server.
  • svn revert
    • Reverts the local copy to the server version, undoing all local changes.
  • svn delete file ; svn commit -m 'removed file because ...'
    • Removes a file from the local copy. The commit removes the file from the current version on the server. The file still exists in previous versions.
  • svn update
    • Checks if anyone else has made changes while you were working (and applies non-destructive differences).
  • svn commit -m 'Description of changes'
    • Commits differences from your local copy to the server copy.
  • svn propset svn:ignore "filename or pattern" directory/
    • Tells subversion to ignore any files in the provided directory that match the filename pattern.

Contact

  • If anyone wants a nudge in the right direction, an additional repository or if you have particular requests, suggestions or complaints please email ScienceHelp@purdue.edu.