Resources: Resources and Guidelines

About Subversion

Table of Contents
To download a working copy, see Subversion Clients listing

Subversion is a modern Version Control system used for centralized data storage and distributed editing. Read about Subversion Nomenclature here.

Subversion Development

Using subversion to manage project materials allows the project members to be bold about making changes to the project's design files because:


If something breaks it can be back-tracked until it works again and the differences between the two versions can be examined to give insight into the problem.

Because versioning occurs at the repository level, a particular revision is a snapshot in time of all the files in the repository. This makes it easy to find problems that occur because of interrelationships between files.

Editing Cycle

The standard "cycle" for editing some part of a repository is to:

  1. Update the working copy
  2. Make changes
    • Test changes if possible
  3. Commit changes

The time between update and commit is when problems can occur. This is the only time when changes to the local working copy are not visible by other project members (who may be editing their own working copies).

Although subversion has the notion of file locking, it is absolutely vital that project members communicate what they are working on within the repository. This problem has no good technological solution, but it does have the social solution of maintaining good communication between members.

EDGE-Specific Information

The repositories within EDGE projects have certain paths that are special-purpose, and cannot be re-purposed for an individual project. These paths are:

Only files in this directory are visible/editable from the web interface
Any guest of a project may view any version of any file within this directory
Any editor of a project is permitted to change files within this directory
Permissions are inherited from /web
Files here are visible by any non-restricted EDGE user
/web/scripts - Superprojects only
This directory has special node name masking properties
Script files within this directory enable unrestricted, dynamic access to all facilities of any repository or database
Scripts manage authorization internally

Get More help with Subversion here