Jump to content
  • Advertisement
Sign in to follow this  
ninmonkeys

code versioning systems

This topic is 3713 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

[1] What advantages does using a code version system give you? I'm wondering if it's worth using one for the small prototypes that I'm writing. Right now what I do is create a zip: project_vX.Y.Z.zip every once in a while.

Share this post


Link to post
Share on other sites
Advertisement
If you want ask questions like:

- when did this bug start happening?
- when did I write this part of code?
- when was the last time I touched this file/directory?

then all of those things are much more difficult to find out when using zip files.

Storing a bunch of zip files is also not very space-efficient, which is a problem that gets worse once you want to start having assets.

And using a real version control system has another benefit: it becomes trivially easy to store your work onto a remote server.

It might take you time to learn how to use a VCS, but it's a one-time cost. Once you learn how to do it, it's super easy to set up a new project. I track every project with Git no matter how small it is.

Share this post


Link to post
Share on other sites
Is this the official site? http://git.or.cz/ the page does not load for me.

I also forgot to mention that I ideally want one that works in win32 and linux. ( Or at least windows )

Share this post


Link to post
Share on other sites
Git was developed to manage the Linux kernel, so obviously it runs there and on most Unices. Windows support is improving, but there's also Mercurial which works on the same principles.

Share this post


Link to post
Share on other sites
Subversion gets my vote.

Perforce is also pretty commonly used, and is free if you only want one or two people accessing the repository.

You could look at darcs, which is fully distributed (ie, each working copy acts as a repository, unlike the above two where there is a shared central repository and working copies don't store history themselves).

And yes, in my experience it's definitely worth using version control, even for small projects.

John B

Share this post


Link to post
Share on other sites
Quote:
Original post by ninmonkeys
[1] What advantages does using a code version system give you?

I'm wondering if it's worth using one for the small prototypes that I'm writing. Right now what I do is create a zip: project_vX.Y.Z.zip every once in a while.


You can maintain a 'history' of all files. It's nice to be able to make a change to the code without worrying about losing a working version. Assuming, you check in your files, after you make changes. Another advantage of SVN is easy backup. All you have to backup is the SVN directory.

Using a local SVN repository is very easy. It gets a little more complicated if you want to share it across a network. And tools like Tortoise SVN and TamTam SVN (http://www.daveswebsite.com/software/tamtamsvn/index.shtml) make it easy to manage the files.

I would recommend setting quite a few filters in SVN, so that built files (ie. exe, converted resource files, etc) are not checked in. Basically any file that is created by the compiler, or a conversion tool, doesn't need to be checked in.

Here's a tutorial on setting up a local SVN under Windows:
http://www.shokhirev.com/nikolai/programs/SVN/svn.html
There's a better tutorial somewhere, but I can't find it.

I've been using SVN for 3 or 4 months now, and couldn't imagine doing without it now, even though I am the only programmer on all of my projects. It adds very little time to the development process, but offers a bunch of advantages.

[Edited by - cdoty on June 14, 2008 11:32:05 PM]

Share this post


Link to post
Share on other sites
Another vote for Subversion but as long as you are using version control I'm happy regardless of which one it is.

To me coding with version control is coding without fear. You'll never fear breaking, changing, forgetting or trying something with your code when using a version control system properly.

Share this post


Link to post
Share on other sites
Yet another vote for Subversion.

I would vote for Perforce (the cross-platform P4V, specifically), since it's awesome and always super-fast and efficient, and has great tools, but the "free version" limitations inevitably hold you back eventually.

Quote:
Original post by bombinator-dev
To me coding with version control is coding without fear.


Seconded, as well. You pretty much are guaranteed to have at least two copies of your code, as long as you stay sync'd with your repository. If the client hard disk dies, you still have the server code. If the server hard drive dies, you still have client code that you can submit to a newly-setup server.

Add that to all the other advantages that pinacolada first mentioned, and it's a no-brainer. Even for small projects. :)

And I'll add one more advantage: if and when you end up working for a team at a software company, you will have a foot in the door. Source control will already be second nature to you, and you won't have to hit the ground running (as fast).

Share this post


Link to post
Share on other sites
Quote:
Original post by ninmonkeys
Is this the official site? http://git.or.cz/ the page does not load for me.

I also forgot to mention that I ideally want one that works in win32 and linux. ( Or at least windows )


Yeah that should be the site, it's strange that it isn't working.

If you were using just Linux or Mac then it would be easy for me to recommend Git, because it runs absurdly well on those platforms. It really is absurd. There are certain operations where you will say, "how the F can it do that so fast?"

But the Windows ports of Git are pretty bad so I can't recommend them. Instead, Mercurial and Subversion are both fine tools with good Windows support.

Share this post


Link to post
Share on other sites
I've been playing around with Bazaar recently. Like darcs and Git, it's distributed, which also makes it easier to set up for a single developer.

With SVN I need to set up the SVN server software, and connect to that every time I want to update or commit code.

With Bazaar, everything works locally. Your local copy *is* your repository.

In any case, you should use version control for *everything* you make, no matter how small and insignificant.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!