Game Development Reference
In-Depth Information
Ifyoudon'twanttoshareyourproject'ssourcecodewiththeworld,you'llneedto
have a private SVN server. On Windows, the easiest way to set up an SVN server
is to use VisualSVN Server ( http://www.visualsvn.com/server/ ) . Alternatively, if
you have a web host that provides shell access, you may be able to set up an SVN
server through that, although it's definitely harder to do so.
Once you have an SVN server, you need a way to connect to it. Although a
command-line SVN client is available, the easiest client to use for Windows is
TortoiseSVN ( http://tortoisesvn.net/ ). What's nice about TortoiseSVN is it integ-
rates with the explorer, so you can right-click files and folders in order to perform
operations on them.
The typical configuration of an SVN repository is to have three directories off of
the root one: trunk , branches , and tags . The trunk is the current latest ver-
sion, and is where most of the active development occurs. A branch is a separate
copy of the code that might be used for working on a major new feature. The idea
behind a branch is that the programmer tasked with the major feature can incre-
mentally commit changes to the server without breaking the trunk for everyone.
When the major new feature is tested sufficiently on the branch, it can then be
merged back into the trunk. Finally, a tag is a copy of a specific version of the
trunk. So, for example, if you release v1.0 of a program, you would want to make
a v1.0 tag before continuing development. That way, the specific code for v1.0 is
easily accessible, even after there has been many more changes to the trunk.
Git
Unlike SVN, Git is a distributed source control system. The distributed nature of
it manifests in two main ways. First of all, you don't need to have a central server
to use Git. When you install a Git client, you can create and use source control loc-
ally. This means that if you're working by yourself, operations can be faster than
on a centralized source control system like SVN because you aren't ever connect-
ing to a server over the network.
However, if a project has more than one developer, it's likely it still will need to
have a central repository. This is where the other main difference between Git and
SVN becomes apparent. Rather than just checking out the latest copy of the code
from the central repository, in Git you clone the entire repository. This means you
get not only the latest code, but a copy of the entire version history of every file
since the beginning of the repository. This is extremely useful for open source pro-
jects that tend to fork , or have slightly different versions branch off from each
other. One such project that forks with a great deal of frequency is Linux, so it's
Search WWH ::




Custom Search