Tools of the Trade:
VisualSVN and TortoiseSVN
What is VisualSVN?
VisualSVN (https://www.visualsvn.com/) is an easy to install visual tool for installing and managing a Subversion server. Subversion (SVN) is an open source version control system (VCS). A VCS manages files and directories, and the changes made to them, over time. This allows you to recover older versions of your data or examine the history of how your data changed. Subversion is a general system that can be used to manage any collection of files.
Subversion can also operate across networks, which allows it to be used by people on different computers.
Below are some images showing the interface and some of the basic functionality of the VisualSVN:
General Information Screen
Changing/Adding User or Group permissions to a specific folder
Creating a new repository (no command lines!)
What is TortoiseSVN?
TortoiseSVN (https://tortoisesvn.net/) is a piece of software for Windows that provides a nice and easy user interface for Subversion. It integrates directly with Windows Explorer, making it really easy to access SVN.
Below are some images showing the interface and some of the basic functionality:
Windows Explorer integration (right-click)
Windows Explorer Overlay of SVN status
TortoiseMerge tool for resolving conflicts
Both are free and open source.
How does ES use VisualSVN and TortoiseSVN?
We use VisualSVN to setup our Subversion repository (where all the files are ultimately stored) on a Windows machine. We have scripts that backup our SVN weekly and we currently manually upload backups to the cloud monthly. The feature we use the most is the the user and group permission interface. We have multiple project with different contractors and being able to control what aspect of the repository they can have access to is very important. We rarely use the statistical analysis features.
TortoiseSVN is used on all our Windows machines and is an indispensable tool for interfacing with an SVN server on a daily basis. For our OSX machines, we use a piece of software called “Versions” which we will hopefully be covering in a future post.
SVN, in general, is ideal for games because it allows people to work concurrently on all types of game assets (code, scenes, models, animations, videos, etc…) and protects against catastrophic mistakes. Some form of version control should always be used when developing games!!!
Overall Assessment of Tool:
- Easy to setup
- Easy to use
- Only limited by disk space to store assets
- Should be able to set it up without any technical support
- Handles large and small files
- Ideal for game development
- TortoiseSVN displays status of folders with an overlay right in windows explorer
- TortoiseSVN can be integrated with some issue trackers (https://tortoisesvn.net/issuetrackerplugins.html)
- Binary files (files that cannot be merged), can be “locked” so only one user can make modifications to them at one time and an optional message can be added to explain why the files are locked (very helpful in larger teams)
- Not as many features as some other version control software that is available
- Merging conflicts within files (when two people have made changes to the same file) can be tricky to resolve properly (but this is not unique to this version control system)