BlockLeftTop, PRELOAD BlockLeftBottom, PRELOAD BlockLeftStretch, PRELOAD BlockTop, PRELOAD BlockBottom, PRELOAD BlockStretch, PRELOAD BlockRightTop, PRELOAD BlockRightBottom, PRELOAD BlockRightStretch, PRELOAD
Latest Game

Trying out Git and why distributed versioning is not really for game developers.

by Benjamin Nitschke 20. September 2009 14:36
After watching the following video from Linus Torvalds about Git and testing several versioning tools this week again (see my previous post about all kinds of source versioning tools like TFS, VSS and SourceGear Vault), I decided to give Git a chance. A friend of mine is using Mercurial for his personal projects by utilizing VisualHg (Mercurial plugin for VS). Mercurial is very similar to Git (from my limited knowledge), both are distributed revision control systems, which means no central server and everyone has a peer-to-peer like repository. This this involves much more merges, branches and applying patches to many different repository versions, merging is much more important than in a centralized versioning tool.

The only reason I even watched the following presentation about Git (it does not really tell you much) is because Linus was bashing CVS, Subversion and many other versioning tools so hard. Some true points, but some people really disliked his style. I found it entertaining.



You can find more documentation and a second video with more technical details about Git on the Git Documentation website.

Well, all this Linux crap can be interesting from time to time, but as long as there is no Visual Studio integration, I'm not really ever going to use it anytime soon. However, there is a pretty successful GitExtensions project, which includes a very good integration to Windows, the Explorer and even Visual Studio 2005/2008. After installing this and trying it out for a while I kinda liked how nicely everything integrates into this tool-set. You got Putty or OpenSSH, KDiff3, all the command line support for playing around and you can even integrate all kinds of other merge tools from Subversion, Perforce or whatever you like better. Using GitExtensions is definitively easy and I can see why it would make sense in a highly distributed open source project, everyone can work on his own version and changes or fixes are around at different places. It can also be used for small teams, then everyone trusts each other and can merge all the changes whenever they want. Merging changes is pretty cool tool, there is no need to do it twice, once a programmer has merged something, it is merged for everyone else once he pulls the new version.

However, I will not be using Git for neither my personal projects nor at work. First of all I do mainly game development and while source files are important, there are many other file formats to consider and Git does not store them in any useful way. Because of the distributed model it is impossible to lock a file, which means any changes to any binary file can result in loss of work (or worse: more work since someone has to merge changes yourself by hand). I have read many discussions about this yesterday and some people are just retarded to not see the point. If you just put text files into Git, everything is fine, but once you have binary files that might change (why else would you even put them into a versioning tool), you can get into trouble. I'm not saying tools like Subversion are better, but at least they allow you to lock files, to announce to everyone in the team: "This file is mine now, please wait until I'm done changing it". With more than 3 people and with lots of un-merge-able binary files this is currently the only way this can work efficiently. Sure we could use two or three different kind of versioning tools (one for programmers, one for content, and even specialized ones for artists, which integrate into their tools, etc.), but what is the fun in that?

But that is not really the reason not to use Git for source code. Merging works pretty good for text files and since you can do a lot more merges and be much more efficient, it sounds really useful. Git even tracks if you remove code from one file and put it into another file, you can still see history of it, etc. The reason I really dislike Git and many many other versioning tools is simply: It is freaking annoying to use all the time. You may only waste 10-30 seconds for pulling, committing local changes, pushing them to somewhere else, selecting files that have changed, adding comments, doing a quick merge, etc. every time, but if you do that many times a day, a lot of time is used just for that. You don't believe me? Just watch the 5 video tutorials on the GitExtensions homepage, or check out the Git Documentation, its samples and video tutorials. It is not hard to use these tools, but it costs a lot of time constantly doing all this crap. I fully understand that this might be very necessary for huge projects like the Linux Kernel or useful and wanted for distributed open source projects, but that is not what I want to do all day and that is not what I want my employees doing.

I like if the source control system is completely hidden and ALL actions are done automatically by just working on the project!
- You open Visual Studio to start working? All files are updated automatically!
- You edit a file? The file is checked out to you automatically, others can still work on it, if it is a merge-able file, but they know that you are already sitting on it (maybe both of you are trying to do the same thing, check work tasks again). But even if both people are required to change a file, there is usually never a problem if you check-in often!
- You are done working? Just close Visual Studio and everything gets checked in automatically with a nice comment (required). Or just commit in the middle of the day as much as you want if you think your changes are important or needed right now.

Easy as that. We pretty much worked that way in the last project, except we used Subversion and we had HUGE amount of files (20+ GB just binary content). On some slower PCs it took 10+ Minutes just to get the latest files. Then we had to manually Update everything every morning just to start working. Committing happened when done working or when something important was finished. But many commits just fail in a big team because you have to update again since someone else changed something. Then there is the worst part: Merging. Sometime it works fine. "Luckily" we only had a few developers working on the same files so most changes could be merged, but from time to time there were really bad merging conflicts. Empty lines could not be merged, comments were slightly different (e.g. we had to disable automatic comment and header generation just because of constant conflicts of really unimportant stuff) and if you were really unlucky some changes were merged into a uncompilable mess. Even worse, sometimes you could compile it, but some game logic was now buggy or some config files were messed up. What I also hated about Subversion was the fact that I could never get a complete version of the repository at home, there was always some stupid checksum error, network corruption, https not working, etc. problem that prevented some 200MB file not being downloadable.

Again, it all depends on what you are working on. For example our artists had not much problems with Subversion except for the long update times, annoying cleanup and rare mess-ups that happened from time to time. But then again they never versioned their work data, they just checked in the final files to be used in the game. That alone eat up many 100 GB on the repository. I bet the Linux kernel team is happy with Git and many years ago when I was using VSS for myself I was also happy with it (not much can go wrong if you are by yourself ^^). For our next project I also don't want to have the whole repository of everything on my small SSD, e.g. subversion needs everything twice, git would even need more than that since every version is in the .git directory plus the actual working files, fine for text files, not fine for huge binary files. Only give me the stuff I really need for working, not sure how to do this for content yet, but I bet there is some crazy setting in Perforce to do it or we just write some tools ourselves that only get stuff that is required for execution (unit tests, editor, etc.).

Still had not really time to dig into any of the new tools I wrote about in the last weeks, but for now I will stay with SourceGear Vault and its painless integration to VS. It looks like our Artists disliked AlienBrain (mostly because of the fact that it does not even support the recent 3DS Max 2010 version for over 6 months now), for that reason they are currently evaluating Perforce, which is kinda hard to get used to at first, but it is fast for binary files and it integrates nicely into everything (Photoshop, 3DS Max, Maya, etc.) and we can also use it for our project management (OnTime) and hopefully integrate all that together with our build tool (whatever it might be, I'm currently liking Cruise Control). I don't think I like Perforce for us coders since the VS addin is very old school and might cause some pain. The server setup was also not easy at all, there are no admin tools on the server, you have try to use the stupid P4V program or even better the command line to fix up stuff. Currently we got a delay of 5s for all operations and we have no idea where it is coming from. Probably have to set it up again and try all kinds of settings to get it into a usable state. That is something I really liked about SourceGear Vault, installation took 2 minutes and everything was working out of the box. It might be a more simplistic tool, but that's what I'm looking for :)

Useful links:

Comments


11/2/2009 12:03:04 AM #

Trying out Mercurial with VisualHG

Trying out Mercurial with VisualHG

exDream Blog | Reply



11/9/2009 5:14:03 PM #

Yea nice Work !Laughing

paydayloans | Reply



11/19/2009 2:52:15 PM #

I guess there's always an easier way ...

cash loans | Reply



12/8/2009 7:08:23 AM #

Thanks for sharing this nützlich information.Great post!
Wir freuen uns für weitere Updates zu diesem Thema.

freisteller | Reply



12/28/2009 6:35:32 PM #



Yea nice Work !Laughing

auto insurance quotes | Reply



1/7/2010 2:18:59 PM #

Nice resource. rss feed added

payday loans | Reply



1/8/2010 5:24:38 AM #

Pingback from landheer-cieslak.com

Distributed Software Development Part 3: Tools Of The Trade  @  Making Life Easier

landheer-cieslak.com | Reply



1/9/2010 3:29:22 PM #

thanks a lot for the great video and great information. it was really interesting to watch this video.

burning calories | Reply



1/10/2010 2:46:30 PM #

Nice resource. rss feed added

online payday loans | Reply



1/11/2010 5:28:16 AM #

Thanks for sharing wonderful and lovely article with all of us
<a href=http://www.clickresponse.net/">Website SEO</a>

Website SEO | Reply



1/12/2010 12:29:55 PM #

I read your post . it was amazing.Your thought process is wonderful.The way you tell about things is awesome.

www.websitedevelopersindia.net/.../...ervices.html

Rose Smith | Reply



1/14/2010 7:14:49 AM #

Hi,

Can a person already having life insurance take another life insurance policy from another company?
www.ratedetective.com.au/insurance/life-insurance

Life insurance | Reply



1/14/2010 7:15:57 AM #

Hi,

Is it possible to have more than one life or medical insurance policies?
http://www.insureyourtravel.com.au/

cheap travel insurance | Reply



1/14/2010 7:18:37 AM #

What are Cardiovascular Exercises?How do we do them in home without any fitness equipment?

jump higher exercises | Reply



1/18/2010 7:56:41 AM #

Hi,

I feel a lot more people need to read this, very good info!
http://www.quantumfinancesolutions.com.au/

car finance sydney | Reply



1/19/2010 10:19:46 AM #

Hi,

What is the procedure to open a bank account of your business?
http://www.webmarketingexperts.com.au/

SEO | Reply



1/20/2010 11:59:39 AM #

Thanks for the post. Keep the great work.

camera shops sydney | Reply



1/20/2010 12:00:11 PM #

Cheers for the info. It was a good read.

pokerstars bonus code | Reply



1/21/2010 8:39:03 AM #

Starting to understand a bit more now... Thanks for keeping it simple!

escorts | Reply



1/22/2010 2:32:10 PM #

Nothing gives a person so much advantage over another as to remain always cool and unruffled under all circumstances.

fast cash personal loans | Reply



1/23/2010 2:13:54 PM #

Use a picture. It's worth a thousand words

payday advance | Reply



1/29/2010 9:00:09 AM #

Hi,


Thanks heaps to the author!

Sonoma Diet      | Reply



1/29/2010 12:27:13 PM #

Excellent blog post, I look forward to reading more.

australian health insurance | Reply



1/30/2010 8:23:18 AM #

Very useful info. Hope to see more posts soon!

consumer complaint | Reply



1/30/2010 11:18:46 AM #

I feel a lot more people need to read this, very good info!

attract women | Reply



1/30/2010 12:10:21 PM #

You really know your stuff... Keep up the good work!

business directory | Reply



1/30/2010 1:20:16 PM #

  Don’t stop writing, you’ve given me lots of good info!

brisbane car hire | Reply



2/3/2010 1:29:58 PM #

Interesting read, thanks for helping keep me busy at work ;)

escort in sydney | Reply



2/6/2010 12:08:53 PM #

You are very right!! Some things are just the way they are and will never change. Thanks for the info.

Carnival Cruise Ships | Reply



2/8/2010 11:56:50 AM #

Sein wirklich netter Artikel !!!!!!!!

freisteller | Reply



2/9/2010 5:36:57 AM #

The blog was absolutely fantastic! Lots of great information and inspiration, both of which we all need!

Online Sweepstakes | Reply



2/9/2010 10:40:19 AM #

I feel a lot more people need to read this, very good info!

debt reduction | Reply



2/10/2010 1:58:09 PM #

Forwarded this to some friends, appreciate your advice

blinds perth | Reply



2/11/2010 11:52:03 AM #

Did you notice that all software programmers celebrities are in their mid 30s or something like that. That is probably because they started to use the computer at the age of 3.

Hotels in Hawaii | Reply



2/13/2010 11:24:33 AM #

nettes posten

PETRA REISEN | Reply



2/13/2010 2:41:57 PM #

Your post is just the same to the thoughts I was having today. I really appreciate this. Keep going what you're doing.This is an awfully splendid column you've put up there.Nicepost I have acquired a lot of interesting matter that i need.....

playedonline | Reply



2/15/2010 7:07:35 AM #

Hi,
  I feel a lot more people need to read this, very good info!

brisbane fitness | Reply



2/15/2010 11:06:21 AM #

Forwarded this to some friends, appreciate your advice

adult sex toy | Reply



2/16/2010 11:04:52 AM #

Excellent blog post, I look forward to reading more.

cheap printer ink | Reply



2/17/2010 7:58:36 AM #

Really appreciate this post. It’s hard to sort the good from the bad sometimes, but I think you’ve nailed it!

Income protection insurance | Reply



2/17/2010 7:59:25 AM #

I’m impressed, you know what you’re talking about ..

management courses | Reply



2/17/2010 1:38:10 PM #

Useful info. Hope to see more good posts in the future.

brisbane cheap car rental | Reply



2/17/2010 2:00:08 PM #

Very useful info. Hope to see more posts soon!
http://www.austss.com.au

superannuation rollover | Reply



2/17/2010 2:49:52 PM #

I’m impressed, you know what you’re talking about

digital camera brisbane | Reply



2/17/2010 3:20:43 PM #

The tutorial is so detailed and helpful. Thank you for the post!

Food Intolerance Systoms | Reply



2/17/2010 3:24:28 PM #

I recently came across your blog and have been reading along. I want to express my admiration of your writing skill and ability to make reader to read the while thing to the end. I would like to read more of your blogs and to share my thoughts with you.

3 inch binders | Reply



2/18/2010 3:28:56 PM #

Very useful info. Hope to see more posts soon!

brisbane car rental | Reply



2/19/2010 10:57:56 AM #

I admire what you have done here. Thanks.

colorado springs mortgage | Reply



2/19/2010 11:33:26 AM #

You really know your stuff... Keep up the good work!

redken | Reply



2/20/2010 6:43:17 AM #

I read your post . it was amazing.Your thought process is wonderful.
The way you tell about things is awesome.

used cars long island | Reply



2/20/2010 9:14:55 AM #

That's really very nice blog, I am impressed.

designer fashion | Reply



2/23/2010 5:06:08 PM #

Really appreciate this post. It’s hard to sort the good from the bad sometimes, but I think you’ve nailed it!

camera stores sydney | Reply



2/23/2010 5:07:28 PM #

Awesome post! Interesting info to know.

adult sex toys | Reply



2/24/2010 7:22:46 AM #

I wanted to thank you for this excellent read!! I definitely loved every little bit of it.Cheers for the info

JORDANIEN REISEN | Reply



3/1/2010 11:28:35 AM #

Great post, I look forward to reading more.

best home based business | Reply



3/1/2010 11:56:52 AM #

who is first batsman of the world which record fasted double hundred in test cricket?

liquid natural gas | Reply



3/1/2010 6:33:04 PM #

A good read, definitely worth a cut and paste. Thanks!

Gun Safes | Reply



3/12/2010 10:28:02 AM #

Very useful info. Hope to see more posts soon!

business opportunity | Reply



3/12/2010 10:47:37 AM #

I am not much into reading, but somehow I got to read lots of articles on your blog. Its amazing how interesting it is for me to visit you very often.
http://www.nationalcomplaints.com.au/

complaint letters | Reply



3/13/2010 8:52:35 AM #

this blog is very interested.

Live Cricket Ssore | Reply



3/15/2010 8:01:40 AM #

This looks absolutely perfect. All these tiny details are made with lot of background knowledge. I like it a lot. Keep on taking action!

sonnerie portable gratuit | Reply



3/15/2010 6:46:04 PM #

Thx. This's useful, as at first glance the farmer may think there is no difference.

dual diagnosis centers | Reply



3/17/2010 6:06:09 AM #

Nice post.I like the way you start and then conclude your thoughts. Thanks for this information .I really appreciate your work, keep it up

PETRA REISEN | Reply



3/19/2010 3:48:45 PM #

Useful info. Hope to see more good posts in the future.

medical computer carts | Reply



3/25/2010 9:07:20 AM #

Hello,

Thanks for sharing nice video with us.I really enjoyed every little bit of video.

parking ny | Reply



3/25/2010 11:08:38 PM #

Questions provide the key to unlocking our unlimited potential.

digestit | Reply



3/27/2010 7:02:37 PM #

it was amazing.Your thought process is wonderful.The way you tell about things is awesome.

Los Angeles Search | Reply



3/27/2010 7:27:59 PM #

Software Development Part 3: Tools Of The Trade  @  Making Life Easier

Los Angeles Search | Reply



3/27/2010 8:26:02 PM #

huge projects like the Linux Kernel or useful and wanted for distributed open source projects, but that is not what I want to do all day and that is not what I want my employees doing.

Los Angeles Search Engine Optimization | Reply



3/29/2010 10:57:10 AM #

sharing this nützlich information.Great post!
Wir freuen uns für weitere Updates zu diesem Thema.

Automiete | Reply



4/1/2010 11:13:31 AM #

The major reason for setting a goal is for what it makes of you to accomplish it. What it makes of you will always be the far greater value than what you get.

teeth whitening | Reply



4/1/2010 12:15:03 PM #

There are very few people in this world who gives such tremendous views. I appreciate your work and hopping for some more informative posts.

SEO COMPANY | Reply



4/1/2010 2:40:59 PM #

Keep posting interesting and informative posts like this.

London Escorts | Reply



4/1/2010 3:26:17 PM #

I watched here very nice video. Thanks for the sharing.

self directed ira | Reply



4/3/2010 6:56:31 PM #

sharing this nützlich information.Great post!
Wir freuen uns für weitere Updates zu diesem Thema.

Search Engine Optimization Service | Reply



4/5/2010 12:59:02 PM #

This is a really good read for me, Must admit that you are one of the best blogger I ever saw.Thanks for posting this informative article.


modular homes nc | Reply



4/8/2010 3:22:32 PM #

sharing this nützlich information.Great post!
Wir freuen uns für weitere Updates zu diesem Thema.

Internet Marketing California | Reply



4/11/2010 12:21:42 PM #

A little off the subject perhaps, but a request for you to think about the ethics of buying strollers (pushchairs). Please try and consider, for example, the cloth your item is made with, the human rights of the factories where they're manufactured and the ethics of the retailer. And try to share to acquaintances with children instead of discarding. Thanks!!!!

gb | Reply



4/12/2010 2:30:52 AM #

Thanks for  informative post. I am sure this post has helped me save many hours of browsing other similar posts just to find what I was looking for. I just want to say: Thank you!

Adjustable Mattresses | Reply



4/12/2010 11:12:56 AM #

A little off topic perhaps, but a plea for people to think about the ethics of buying strollers (pushchairs). Please try and think about, for example, the materials the product is manufactured from, the human rights of the employees where they're made and the ethics of the retailer. Oh, and try to share to acquaintances with babies rather than discarding. Thanks!!!!

gb | Reply



4/13/2010 4:49:59 PM #

This was just what I was on  looking for. I'll come back to this blog for sure!

Watch Hot Movies Online | Reply



4/16/2010 8:35:43 AM #

Pingback from nullkingdom.wordpress.com

版本控管 « Nullkingdom's Blog

nullkingdom.wordpress.com | Reply



4/16/2010 9:02:00 AM #

Pingback from nullkingdom.wordpress.com

版本控管 « Nullkingdom's Blog

nullkingdom.wordpress.com | Reply



4/17/2010 3:32:46 PM #

The more we give of anything, the more we shall get back.

cash loans | Reply



4/19/2010 8:22:23 PM #

it was amazing.Your thought process is wonderful.
The way you tell about things is awesome.

Medical Tourism In India | Reply



4/20/2010 7:49:34 AM #

one day i went shopping outside,and in an ed hardy store,I found some kinds of ed hardy i love most they are Your website is really good Thank you for the information

ed hardy | Reply



4/22/2010 1:11:27 PM #

I recently came across your article and have been reading along. I want to express my admiration of your writing skill and ability to make readers read from the beginning to the end. I would like to read newer posts and to share my thoughts with you.

website traffic | Reply



4/23/2010 7:34:25 PM #

You will never find time for anything. If you want the time, you must make it.

faxless cash advance | Reply



4/26/2010 7:46:38 PM #

To do two things at once is to do neither.

online payday loans | Reply



4/27/2010 10:20:56 AM #

really good read for me, Must admit that you are one of the best blogger I ever saw.Thanks for posting this informative article.

Law Firm | Reply



4/27/2010 10:26:06 PM #

I\'m happy I found this blog, I couldnt discover any info on this subject matter prior to. I also run a site and if you want to ever serious in a little bit of guest writing for me if possible feel free to let me know, i\'m always look for people to check out my site. Please stop by and leave a comment sometime!

Rapidshare | Reply



4/28/2010 6:07:44 AM #

Merging changes is pretty cool tool, there is no need to do it twice, once a programmer has merged something, it is merged for everyone else once he pulls the new version.

cara menambah tinggi badan | Reply



4/29/2010 10:54:34 PM #

Shoot for the moon. Even if you miss, you'll land among the stars.

personal cash loans | Reply



5/3/2010 6:27:15 AM #

really great post on technology thanks to you for this great work.

pda data collection | Reply



5/3/2010 9:03:20 AM #

Thanks for sharing this wonderful article

Amish Furniture | Reply



5/4/2010 5:14:38 AM #

However, I will not be using Git for neither my personal projects nor at work. First of all I do mainly game development and while source files are important, there are many other file formats to consider and Git does not store them in any useful way.

cara meninggikan badan | Reply



5/4/2010 6:12:01 PM #

Top Rapidshare Search engine

Rapidshare Search engine | Reply



5/6/2010 8:55:35 PM #

Don't have money to buy a car? Do not worry, because that's real to receive the <a href="lowest-rate-loans.com">loans</a> to resolve such problems. Hence take a college loan to buy everything you want.

Puckett28Lorene | Reply



5/7/2010 12:00:46 PM #

What sports acitivites are on these ships?

cricket highlights | Reply



5/12/2010 12:17:54 PM #

What training  we have to undergo for the airway industry?

Toronto Airport limo | Reply



5/14/2010 9:34:16 AM #

Wow, I never knew that Ink printers give me so best performance compare then other printers . That’s pretty interesting..

printer ink | Reply



5/14/2010 4:09:09 PM #

Subsequently, after spending many hours on the internet at last We've uncovered an individual that definitely does know what they are discussing many thanks a great deal wonderful post.

Tipster | Reply



5/17/2010 3:32:48 PM #

Very nice post. I really enjoy the reading. I  come here from the google while searching for some good article.

Christian Counseling Dallas | Reply



5/18/2010 7:25:05 AM #

The only reason I even watched the following presentation about Git (it does not really tell you much) is because Linus was bashing CVS, Subversion and many other versioning tools so hard. Some true points, but some people really disliked his style.

tinggi badan | Reply



5/18/2010 3:57:11 PM #

Always good to see, this was obvious a excellent post. In theory would like to be such a good writer too. You need time to create that brilliant and in addition real effort to create a excellent article.

Stop foreclosure tampa | Reply



5/19/2010 3:49:02 PM #

This is a really good read for me, Must admit that you are one of the best bloggers I ever saw.Thanks for posting this informative article.

Gist | Reply



5/20/2010 5:08:39 AM #

I am doing something of the same interest and will be taking note on this .Thanks.

payday loans | Reply


Add comment




biuquote
  • Comment
  • Preview
Loading



Disclaimer: The opinions expressed in this blog are own personal opinions and do not represent the companies view.
© 2000-2010 exDream GmbH & MobileBits GmbH. All rights reserved. Legal/Impressum

Recent Games

Fireburst

ArenaWars Reloaded

Jobs @ exDream

Current Poll

Do you know what the Delta Engine is?



Show Results Poll Archive

Calendar

<<  July 2010  >>
MoTuWeThFrSaSu
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

Blogs

Download OPML file OPML