Team Collaboration Using Subversion (SVN)
- Overview
Introduction
Being file based, GUI Design Studio has always, indirectly, supported the use of external tools for version control and project sharing within a team.
But regular Check Out / Check In mechanisms present challenges for file sharing, especially where certain files need to be checked out by everyone at the same time or when access to the shared repository becomes limited (such as when travelling). And with the introduction of Move and Rename capabilities, it becomes harder to properly synchronise projects between all users.
Subversion (SVN) solves these problems by allowing simultaneous editing of files and provision for file move and rename. GUI Design Studio now has specific support for the way Subversion works, providing enhanced flexibility for team collaboration.
Note: Although GUI Design Studio v3.4 provides integrated Subversion support, a third-party SVN Client will still be required to access much of the functionality.
How it works

A Subversion repository is a central, shared space that stores files and keeps a record of every change made to each file. Here's how it basically works:
- Team members Check Out a Working Copy of a project from a repository, or just a sub-section of it.
- They then make changes and Commit those changes back into the repository for everyone else to access.
- To ensure that the repository holds a consistent copy at all times, before committing changes, team members must first Update their working copy to merge any changes made by other team members since their last commit. This may involve dealing with conflicting changes.
Repositories
You can have as many independent Subversion repositories as you like. So when you create a new GUI Design project, you have two options:
- Create a new repository dedicated to that project, or
- Add the project to an existing repository
If you're already a Subversion user then you may have existing guidelines and house rules for which option to choose.
Otherwise, we recommend creating a single, master repository to hold all of your GUI design projects, grouped into sub-folders as appropriate. This makes it easier to add projects, browse the repository for projects to check out and quickly get an entire copy of the whole repository (or sub-section) for new members joining your design team. Also, you'll only need to set up user authentication for the one repository which can save a lot of hassle.
Access
Getting access to your shared repositories from machines on an Intranet or via the Internet is beyond the scope of this documentation. In general, though, you will need to set up a Subversion Server on the machine containing the repository. Popular options are an Apache Web Server or svnserve.
Examples in this documentation will assume access through a LAN (Intranet).
< Index