|
DeleD Community Edition Forums
|
View previous topic :: View next topic |
Author |
Message |
chronozphere DeleD PRO user
Joined: 20 Jun 2006 Posts: 1010 Location: Netherlands
|
Posted: Mon Jan 18, 2010 7:55 pm Post subject: Git: A decentralized code versioning system |
|
|
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.
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).
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.
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.
Thanks |
|
Back to top |
|
|
Paul-Jan Site Admin
Joined: 08 Aug 2004 Posts: 3066 Location: Lage Zwaluwe
|
Posted: Mon Jan 18, 2010 9:03 pm Post subject: |
|
|
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 |
|
|
chronozphere DeleD PRO user
Joined: 20 Jun 2006 Posts: 1010 Location: Netherlands
|
Posted: Mon Jan 18, 2010 10:07 pm Post subject: |
|
|
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.
I'll try git myself to see how it works. I'll probably use TortoiseGit (A GUI wrapper that makes Git feel like SVN). |
|
Back to top |
|
|
|
|
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
|
|