Game Development Reference
In-Depth Information
The system stores the file state on the local machine, which makes it trivial to work
on files even if you have no network access. You just work on them and tell the Sub-
version server when you are ready to commit them to the server. If anyone else made
modifications with you in parallel, the system will let you merge the changes so that
everyone
s work. This is typ-
ically done automatically when the changes are far apart in the file, but a special edi-
tor can be used to see all the changes in parallel so that conflicting changes can be
integrated by hand.
Complaints about the system generally fall into the speed and scalability category. If
you are working on a large game with a huge directory structure and tens of thou-
sands of assets, you would be wise to consider something else, such as Perforce.
I developed this edition of the topic, and all the source code in it, under Subversion.
So if you are reading this now and can play with the source code, I guess Subversion
worked just fine. Google Code also uses Subversion
'
s changes will be present in the file, preserving everyone
'
and they store plenty.
Perforce by Perforce Software
My favorite commercial product in this category is Perforce. I
'
ve used this product
for years, and it
s never let me down. For any of you lucky enough to move from
SourceSafe to Perforce, the first thing you
'
s damn fast.
Perforce uses a client/server architecture and a Btrieve-based database for storing the
repository. Btrieve is an extremely efficient data storage and retrieval engine that
powers Pervasive ' s SQL software. That architecture simply blows the pants off any-
thing that uses the network directory hierarchy. More than storing the current status
of each version of each file, it even stores the status of each file for everyone who has
a client connection. That
'
ll notice is its speed. It
'
'
s why most SourceSafe slaves freak out when they use Per-
force the first time; it
s actually doing anything. Of
course, this makes remote access as fast as it can possibly be.
'
s so fast they don
'
t believe it
'
Don
'
t Forget to Ask Perforce
'
s Permission
Since Perforce
the status of any file on your system, you have to be
careful if you change a file while you are away from your network connection
and you can
knows
a file. Since
Perforce knows nothing of the change, it will simply complain later that a
local file is marked read/write, so while it won
'
t connect to the Perforce server to
check out
'
t blow away your changes, it
also doesn
ve done anything.
SourceSafe actually does local data/time comparisons, so it will tell you that
the local file is different than the network copy. Subversion stores your local
file status locally, so it is much faster than SourceSafe.
'
t go out of
its way to remind you that you
'
 
 
Search WWH ::




Custom Search