Updated for GMS 1.1.754
Temporary notice: 1.1.750 and 1.1.754, Steam version only
I have been alerted to a very serious bug in the SVN integration, localized to the Steam version only. This bug will prevent your SVN from working at all, not even with my fixes. If you use these affected versions, please do not follow this guide until the bug is resolved.
This is a simpler and more generalized version of an earlier guide I wrote for setting up a local SVN repository. By the end of this guide, you will have a fully functional, GMS-compatible SVN-versioned project for personal use or team development. For the setup process, a small batch tool will be used instead of GMS. This tutorial assumes a basic understanding of GMS and Windows administration.
Step 1: Install TortoiseSVN
Note: If you already have a SVN client, skip this step.
- Download and run the TortoiseSVN installer.
- Accept the license agreement and choose the Custom Setup. Make sure “Command line client tools” is marked for installation.
- You will be requested to restart your computer after installation completes.
Step 2: Create an SVN repository
Note: You may skip this step if you already have a local or remote repository. However, please take note of your repository’s URL in preparation for subsequent steps.
Option A: Creating a local SVN repository for personal use
Note: The repository created this way can only be accessed by you. If you want your project to be accessible to others, you should create a remote SVN repository as described in Option B.
- Find a permanent location that:
- You have write permission to.
- Is outside the directory of the project you wish to version.
- Create a directory in the location found in Step 2.1. Remember the full path to this directory.
- Right-click on the directory created in Step 2.2, select TortoiseSVN -> Create repository here.
- Press OK.
Option B: Creating a remote SVN repository
Note: This guide will use Assembla as the SVN repository host. If you decide to sign up with other SVN repository hosts, make sure you set up your account according to their instructions and note the full URL to your repository for subsequent steps.
- Create and activate a new SVN account at Assembla.
- If you have other members on your team:
- Click on “Team”.
- For each member on your team:
- Enter the current member’s email address, then click “Search”.
- Choose a role according to the current member’s status in the team. Owners have full control over the project, Members can only commit and checkout, and Watchers can only checkout.
- Click “Invite”
- Click on “Source/SVN”.
- Take note of the SVN repository URL provided. If you wish, you can click the small clipboard button to copy the URL for future reference.
Step 3: Import from GMS
- Download the GMSImport.bat tool and save it somewhere outside your project. If you are not sure, the Desktop is a good place to put it. You can also get the GMSImport.bat by copying and pasting the following:
- Make sure that GMS is not using your project before proceeding.
- As a precaution, make a backup copy of your project in case the conversion process to a working copy breaks your project.
- Drag your project directory’s icon onto the GMSImport.bat.
- Enter your repository’s URL, including a final slash:
- For local repositories: Start with file:////, then the full path to your repository with all backslashes (\) replaced with slashes (/). (e.g. Repository at D:\REPO, key in file:////D:/REPO/)
- For remote repositories on Assembla: Enter or paste the SVN repository URL noted in Step 2.4.
- For remote repositories elsewhere: Enter the full URL to the SVN repository as specified by your provider.
- Enter your login details. If you are using a local repository, you may leave both the username and password blank.
- Wait until the tool completes the import process and converts your project into a working copy. If error messages appear, follow the instructions displayed on the prompt and try again.
- A checkout key batch file will appear next to your project directory. Keep it in a safe place. In case you lose your working copy or it breaks, you can use the checkout key to spawn a new working copy.
- If you have other members on your team, email the checkout key to them. Ask them to save the checkout key where they want their working copy to be, run the key and enter their login details. If successful, they too will get a new working copy identical to yours.
GMS 1.1.750 and 1.1.754 are the first versions to rely on bundled SVN binaries, and this transition is known to break the SVN integration. If your SVN-versioned projects appear as unversioned only within GMS, you need to make some adjustments in the registry. There are 2 options:
- If you installed or upgraded to 1.1.750 on a 32-bit system, or if you want to use external SVN binaries that come with your SVN client, consult this bug report for a solution.
- If you upgraded to 1.1.754 from 1.1.750 or lower and would like to use the bundled SVN binaries, consult this post for a solution.
This concludes the process of setting up a SVN-versioned project. With your new repository, you will enjoy the benefit of automated backups, easy version management without redundant copies, and manageable collaboration with your teammates.
If you have any comments, questions or suggestions about this guide, feel free to reply here or via PM.
Edit: Guide updated to use an external batch file for importing in place of GMS, added instructions for online repositories. svnfix_gms.bat has been moved off to a separate topic.
Update (5 Jan 2013): Troubleshooting notes added for 1.1.750-1.1.754.
Edited by GameGeisha, 06 January 2013 - 10:40 PM.