Delgine 3D Tools & Content DeleD Community Edition
Forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Git: A decentralized code versioning system

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    DeleD Community Edition Forum Index -> DeleD Development
View previous topic :: View next topic  
Author Message
chronozphere
DeleD PRO user


Joined: 20 Jun 2006
Posts: 1010
Location: Netherlands

PostPosted: Mon Jan 18, 2010 7:55 pm    Post subject: Git: A decentralized code versioning system Reply with quote

Hi developers

I told a friend of mine about DeleD going opensource and using SVN as code versioning system. He told me that I should check out "Git", which is a distributed versioning system. So I did, and I must say that I'm quite enthusiastic about it. Razz

Git is developed by Linus Torvalds. He gave a lecture about it. Link:
http://www.youtube.com/watch?v=4XpnKHJAok8

A little summary:

- Git is distributed, which means that there is no "central repository". Everyone has his own "branch" (or multiple branches) of the sourcecode.
- A main principle of Git is "the network of trust". This means that people who trust eachothers code can "pull" eachothers branch and merge it with their own. This makes sharing code (updates/fixes) very easy.
- Git is optimized for merging branches, while CVS based systems are optimized for making branches (while merging is a more important operation. It's a very tedious job in a CVS system).
- Git is fast because you do not need a connection with any server etc. Most of the information is allready on your drive. Logfiles and diffs are shown in a split second, while CVS has to download this data first.
- Git uses SHA1 hashes to verify the repository database. It will let you know immediately when you are trying to use a corrupted repository.
- Git is better at tracking changes. If you move a function or class from one file to another (within one project), git about this. This is valuable information which is very handy when resolving conflics.

(Disclaimer: This is not my own experience. These are the things I heard about git). Smile

I'm not saying we should move the DeleD source to a git system. I'm actually very happy that DeleD is opensource anyway. I want to emphasize that I really appreciate the hard work PJ and Jeroen did to move this project to sourceforge. I'm also confident that SVN will be an adequate solution of now. Wink
I just want to share my findings and thoughts with you. Maybe we could start using this system, when it turns out SVN doesn't fullfill our needs anymore (Many people may get commit access, many merges, conflicts etc... ).

So, Is anyone familiar with git? Does anyone see any drawback?
Please share your views and thoughts. Very Happy

Thanks
Back to top
View user's profile Send private message
Paul-Jan
Site Admin


Joined: 08 Aug 2004
Posts: 3066
Location: Lage Zwaluwe

PostPosted: Mon Jan 18, 2010 9:03 pm    Post subject: Reply with quote

In short, GIT is great if you work in a huge distributed multi-team environment working on a large project (millions of lines of code and the like) with complex branching/merging needs. For a small project looking for new developers, it can be a killer.

GIT is a huge enormous mountain of a hurdle to overcome for people without a serious amount of version control experience, simply wanting to contribute to a project.

How large your project (and how complicated your VC needs) need to be before something like GIT starts becoming relevant depends on personal taste. Personally, I wouldn't use something like that until I really really needed it. To me, using GIT for DeleD in the current phase would be similar to installing CygWin to rename a file on Vista (i.e. as opposed to simply using the explorer).

I invite you to do a little experiment with GIT. Find an open source project using it (there are a couple on source forge), or do a personal project, then try to do some version control with it for a while. See if you like it.
Back to top
View user's profile Send private message Visit poster's website
chronozphere
DeleD PRO user


Joined: 20 Jun 2006
Posts: 1010
Location: Netherlands

PostPosted: Mon Jan 18, 2010 10:07 pm    Post subject: Reply with quote

Quote:

For a small project looking for new developers, it can be a killer.


I partially agree. Any small project could be managed with git succesfully. However Git might not be as user friendly as many would like, so I'm with you when it comes to that part.
However, there are nice GUI wrappers available to solve this problem.
Again, on the other hand, users have to look for these, while TortoiseSVN is used more often and is documented very well. Smile

I'll try git myself to see how it works. I'll probably use TortoiseGit (A GUI wrapper that makes Git feel like SVN). Wink
Back to top
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    DeleD Community Edition Forum Index -> DeleD Development All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum