[Adium-devl] Git

Evan Schoenberg evan at adiumx.com
Tue May 1 23:48:22 UTC 2007


Neat. :)  Do you know anything about how Git compares to Monotone,  
which is the distributed versioning system recently adopted by Pidgin?

-Evan

On Apr 30, 2007, at 1:55 PM, Ofri Wolfus wrote:

> So I've been playing around with Git ( http://git.or.cz ) lately  
> and decided to try converting the Adium repository to it. After a  
> lot of troubles getting the needed python modules for git-svnimport  
> (git itself compiles cleanly if you have expat installed), getting  
> a local mirror of the svn repository (yay for svnsync!), and  
> waiting ~12 hours (yeah, I'm on a G4), I finally got a git  
> repository of Adium :) That being said, I didn't tell git-svnimport  
> to try and detect branch merges, which if works, will be awesome.
>
> And now some numbers:
> * The complete subversion repository (revision 19556) is 1.21GB and  
> containing 19,557x2 files for storing all commits (in db/revs and  
> dp/revprops).
> * A clean svn checkout of trunk is 242.9MB (revision 19557).
> * The git repository (containing all current branches and tags)  
> plus a checkout of trunk is 525.4MB, while the .git directory is  
> 413.1MB (this is what we would put on the server if we used a  
> central git repository) and containing 1 pack file of all revisions  
> (or commits in git's terminology). This is after running git-gc -- 
> purne on the repository, of course (otherwise git stores each  
> commit in its own file without delta compression). If you didn't  
> know, running git-gc on a repository once in a while is necessary  
> for keeping it small and clean, but this approach allows git to do  
> much better job at delta compressing (as you can see).
>
> For those of you who don't know, Git is a distributed version  
> control system, started by Linus Torvalds, that is designed to be  
> fast and scaleable. It tracks its content in a very interesting way 
> (1) that adds it some unique characteristics (implicit rename  
> tracking, merging from more than one branches and so on). It is  
> being used by the linux kernel (not really surprising), one laptop  
> per child, wine, X.Org, DBus and others.
>
> Git is able to work over some dumb protocols like WebDav, or via  
> its own dedicated server. The site says it can also operate  
> directly over a CVS server and in the future it may also be able to  
> work over SVN.
>
> I'm in no way a git expert, and haven't yet done any "heavy work"  
> with it (only converted the UITestingKit repo and made few  
> commits), but I really think it's worth exploring even if not  
> converting the subversion repository. Git comes with a git-svn  
> utility that allows one to check out a subversion repo to git and  
> commit back to it. Git also has a patch manager built on top of it  
> called StGit ( http://www.procode.org/stgit ), that looks like a  
> great tool although I haven't tried it yet. Anyhow, Git should be  
> useful even when working with Subversion, and unlike SVK it  
> actually works (at least for me).
>
> That being said, Git has some limitations like no windows support  
> (not really related to Adium), it needs periodic manual object  
> repacking, and is known not to be so user friendly. The repacking  
> problem can be solved with a cron job or maybe even using some  
> sophisticated commit hook, and personally I had no problems using  
> git although like I said, I didn't do any heavy work with it. Git  
> also lacks graphical tools, although AFAIK nobody on the team uses  
> them.
>
> - Ofri
>
> 1. http://article.gmane.org/gmane.comp.version-control.git/217
>
> - - - - - - - - - - - - - - - - - - -
> http://www.dpompa.com
> - - - - - - - - - - - - - - - - - - -
>
>
> _______________________________________________
> Adium-devl mailing list
> Adium-devl at adiumx.com
> http://adiumx.com/mailman/listinfo/adium-devl_adiumx.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://adium.im/pipermail/devel_adium.im/attachments/20070501/5ea836c0/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
URL: <http://adium.im/pipermail/devel_adium.im/attachments/20070501/5ea836c0/attachment.sig>


More information about the devel mailing list