SVN or “Subversion” is a 3rd party tool Hash Inc. uses in house to allow us to work on the same files at the same time. V13 incorporates features of SVN for users contributing to the TWO project.
Svn Walkthrough Initial set-up instructions and daily work cycle.
Svn Install Downloading and installing SVN on to your PC or Mac.
Svn Conflict Conflict avoidance and resolution.
Official SVN conflict explanation Explains how conflicts happen and how they are resolved. TWO management uses the “Copy-Modify-Merge” method, not “Lock-Modify-Unlock.” If you’re having a hard time wrapping your head around the file management system, this may help clear things up.
“What the heck does it do?” you ask?
Here is how it works.
Svn as file sharing
Say you want to work on TWO, so you download v13 and press the update button to receive the TWO data you need into a folder you specify. Then you add or change a file in that folder. When you are done with a change you press “commit” and A:M will use svn to check for new or changed files in the TWO folder and send only the changes to them to the repository of TWO data on the server, merging your changes with other peoples work. Then you tell your friend, who is helping you on this file, to press “update” and your changes are merged into his local copy of the file.
Svn as a collaboration tool
Even if two people work on the same file at the same time it is usually ok unless they are working on the same part of the file. In the rare case you both work on the same part of that file, svn will warn you of the conflict and let you merge it yourself.
Svn as a back up mechanism
If you are working on something and are happy with your progress, and want to make sure you don’t lose your changes, just save and commit. That way if you happen to save later and decide you don’t like what you did, you can always use your svn client to get back what you have committed.
If you are assigned to make a major change to say “tinman.mdl”, and you want to be able commit your steps of this change with out messing up the original then you can make a copy called “tinman reason of change.mdl” in the same location. Make your changes there. As you are working if you want to save a backup just add that file and ‘commit’ your steps. That way you won’t mess up the original tinman.mdl. When you are satisfied with your changes, copy your temporary copy over the top of tinman.mdl and ‘commit’. Then you can svn delete your temporary model. Here is some svn backup history.
Eventually v13 will allow you to roll back a file to a previous version, and see who changed what files. In the mean time you can use tortoisesvn on the pc or svnx on OSX to manage your svn data more technically than A:M will at first.
What about Svn Conflicts?
See Data Management for a section on how svn will work for backups.