When you have prepared your computer with the necessary SCM
applications, you have to tell GameMaker: Studio to add your
projects into the SCM repository. This can be done for new projects
as well as projects that have been started previously but never
versioned. The steps to follow in either case are outlined
below.
By default the GameMaker: Studio Preferences will be set to use the
latest version of SVN that is bundled along with the program, but
should you wish to use a different version or another type of SCM
solution, you will need to open the Source Control
Preferences Tab to point to the installed solution that you
wish to use.
If you select a "Custom" solution, then you will also need to set
the two file paths to point to the correct binary executable for
the solution (for example C:\Program Files
(x86)\Git\bin\git.exe) and then the location of the
configuration file for the solution. If you do not have a config
file, you will need to create one, which is explained in more
detail from the Source Control
Preferences Tab page of this manual. Note that if you are using
Mercurial, the final option in the preferences "No Folder Commits",
should be checked (but only for Mercurial).
When you create a new project, you can tell GameMaker:
Studio to add it directly into Source Control so that all
further work done on this project can be versioned. To do this, you
must first create the project and make sure that you have selected
"Use source control" from the new project form, like this (note
that if you have disabled source control in the Preferences, you
will not see this):
You would
then click on the "Create" button as normal, but before you can
actually start working on your new project you are presented with
another form where you can enter your username and password
(whoever administers the system will have given you this, otherwise
just leave it blank), as well as point GameMaker: Studio to
the location where you created your repository:
Once you
have done that, just click "OK", and now you are ready to work on
your project with source control keeping track of all the changes
that you make. Note that this dialogue also has a "Checkout"
button, which enables you to pull down an existing repository
(based on the settings the user has typed into the form) to use as
a base, rather than a blank new project.
If you have been working on a project without having it
configured for source control, it's still not too late and you can
actually version it too and have it protected the same as any new
file. To do this, you have to go to the Global Game Settings
and select the Source Control tab, then fill in the relevant
details. It should look something like this:
The Username
and Password fields should be filled in with the name and
password proportioned to you by whoever administers the system (if
you have none, or don't know them, then just leave it blank) and
the URL should point GameMaker: Studio to the location where
you created your repository. Finally, click on the "import Project
to repository" button to version your current project and add it to
the source control repository. Note, that this only needs to be
done once for any project and you should never need to do
this again. Make sure to tick the "Use Source Control" checkbox at
the bottom before closing the window and saving the settings.
Whether you choose to start a new project or add a previously
started one into your source control repository, it is essential
that you understand what is happening and how this system should
work from now on. Basically, you now have two copies of your
project - a local one stored on your own computer and a versioned
one stored in the repository. All changes you make to your project
from this point onwards will be made to your local copy,
not the copy stored in your repository.
When you have worked on your project and are happy with the changes
you have made, this project is then committed to the
repository along with a short comment about what you have done, and
it is given a version number. What this means is that you can go
ahead and make changes to your project safe in the knowledge that
at any time you can "turn the clock back" and recover a previous
version from your repository... you can even go back several
versions if it is necessary! This also means that several people
can work on the same project knowing that should someone make an
error, it can be easily fixed and doesn't need to negatively affect
the other people in the team.
For a more detailed explanation of how to add and commit files to
your repository, please continue to the next section "Using Source Control".