Development Resources

Jump to

Versioning

Subversion (SVN) is a revision control system you can use to maintain current and historical versions of files such as source code, web pages and documentation.

TST maintains a centralized Subversion server for Faculty, Staff, and Students using the SVN dav extension. These repositories are accessed using your CSID and password.

External users can be added, however, our repositories do not allow unauthenticated guest access. If your project is public please consider using sourceforge, google code, or another service that provides public repository hosting.  

Creating an SVN repository

You can now create SVN repositories through Webapps.

  1. Log in to Webapps with your CSID
  2. Go to ResourcesSVN Repositories
  3. Click the "New Repository" button
  4. Choose a repository name, owners and users (Please note that you can not have a leading / in teh repository name.)
  5. Click the "Create Repository" button

Once you have created the repository it can take up to 15 minutes for the repository to become active on the server.

Using your SVN repository

Your repository will be available at https://repos.cs.ualberta.ca/repos/XXXX

Initial import

  • svn import <path> https://repos.cs.ualberta.ca/repos/reponame -m "Initial import"

The first time your svn client connects from each host it may complain about the SSL cert. The cert is valid on our part, this is just additional security svn tacks on. When you first connect, double check that you get this fingerprint:

  • Fingerprint=df:ba:5c:e7:42:66:65:0f:de:08:9d:7d:4b:22:4c:36:83:f1:10:d4

Password storage

Please note that when you connect, svn client will save your password to the machine for subsequent svn operations. To prevent this, you may add this to each command line: --no-auth-cache

If you wish to permanently disable the storage of the password: 

  • Edit the file $HOME/.svn/config
  • Add the following two lines
    [auth]
    store-auth-creds = no

See http://svnbook.red-bean.com/en/1.4/svn.serverconfig.netmodel.html#svn.serverconfig.netmodel.credcache for more details.

Frequently Asked Questions

  1. Can the SVN only be used for assignments and projects related to the Computing Science Department and its courses?
    • Our SVN service is only available for Computing Science course work or research project.
  2. Are there any any space limits?
    • Yes, there are space limits but only in the sense that we monitor space usage to determine if the repositories need more physical disk. So one user can use all the space given to the SVN server but if that happens we will likely add more physical disk or move the offending user to a different SVN service.
  3. If I have people who would like to access the SVN who do not have a CSID, can they still access the SVN? If not can they apply for a CSID?
    • If a person is sponsored by a Computing Science faculty member they can get a CSID, otherwise you must be taking a CMPUT course, must be a CS staff person or be a person associated with a research group (grad student, PDF, research project staff member). In general, we do not give out CSIDs to people not associated with Computing Science.
  4. Are there any other content versioning services that you would recommend outside of the department?
    • If you are looking for a content versioing service that will survive for a longer period of time, why not look into something similar to https://github.com/

The Helpdesk can answer many other questions you might have about SVN - just send them an email. There is a free book that is a very valuable reference at http://svnbook.red-bean.com/

Back to top

Database server

The Department runs a MySQL database server that you can use if your website or application requires one.

Requesting a database instance

To request a MySQL instance, please send an email to ist@ualberta.ca specifying that you would like a database created.

In your request to the help desk please provide:

  • A name for your database
    • It is important to pick a name for your database that is not too generic, the database server is a shared resource and IST reserves the right to refuse any name that is overly generic
    • "db" would be rejected as being too generic however "foo_db" where foo is the name of your project would be acceptable
    • Please note the same rules about generic names apply to the database accounts
    • In addition, we will only grant a account name that is the same as a CSID if the person requesting the database username owns the corresponding CSID
  • A list of accounts and what level of access to the  database each should have
  • Explain you are a Computing Science User/Student

Note: For security reasons we do not give GRANT permission, or permission to export or import from the filesystem as the database server does not allow general login.

Because mysql accounts and passwords are often stored in plain text files or code for applications, do not use your CSID password or any other important password. If IST discovers a database password that is the same as your CSID we will require a password change.

Accessing your database

Once you receive the information from IST about your new database it can be accessed from any of the department's linux machines using the mysql client command.

For example:

mysql -u your_db user_name -h warburg.cs.ualberta.ca -p database_name

The -p tells the client to prompt for the password, it is generally not a good idea to supply the password as a command line argument to any program as it may be visible to other users as part of the output of various process listing commands. 

When TST creates a database username they will send you a temporary password which you should change as soon as possible. Additionally if at any other time you need to change the password it can be done by using the above command to connect to the database and using:

SET PASSWORD = PASSWORD ('your new password');

Back to top