Re: Moving to git?
Andreas Fink <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <[email protected]> |
On 19.06.2008, at 15:58, Guillaume Cottenceau wrote: > Stipe Tolj <st 'at' tolj.org> writes: > >> My major concern is the user side. I know that git is used for >> the kernel and kernel-close projects. But these are all C hard >> coders, they "know what they do" (now, I guess we hope so :p), >> but Kannel users are more the application users. > > I don't really see the difference you're trying to push here. If > that's a programming language problem or a "non kernel" thing > issue, then ruby on rails is using git, fedora's installation > program (in python) is using git, multiple GNU tools such as > autoconf, automake or coreutils are using git, etc. And many > Debian projects: > > http://git.debian.org/ Debian is just a "small" world. there's many other linuxe's out there and many many other unixes and non unixes. And I wouldn't care less on what ruby on rails is using. Thats by far not any reference to what we do with Kannel. Python or Perl also have their own way of checking out repositories so we could come up as well with a KannelVS or the like if we want to go that way (which we don't want to of course). From a developer view I would say, if you use cvs, svn or git comes to the same. You check out from a repository and you commit to it. That's the day to day work. If you do it from the command line it doesn't matter that much if you type "cvs commit" or "svn commit" or "git commit". And so far there are not a lot of branches in the current cvs of kannel. There's basically a single repository for development and a branch for stable releases. Those things are maintained by hand I guess as its pretty rare. Because of this, many repositories for C project still use cvs. iIs available for all unixes out there and for non unixes mostly too. Its old but it does what it's supposed to do. So its the lowest common denominator. It has a few issues in my eyes. One of them is version number on individual files instead of the whole project and the non removable directories. Going back to a specific version means finding out in time when this could have been. Subversion (svn) has overcome those issues and is widely used so far. Git is even newer and used on less projects. I have checked out many open source repositories in the past and so far I have not come across git yet. I've checked through some popular open source projects which are not Linux only. php uses CVS. mysql used cvs and now svn Apache uses svn Asterisk uses svn Wireshark uses svn So who uses git ? If you would ask me to switch from cvs to svn, I would not see a problem. git however is not integrated in my main platforms. I figured out that its pretty easy to install from source on my MacOS X machine but I have not tried solaris 8 yet which probably is more of an issue. What however does not work is the GUI tools I use on a daily basis. Which means I can not use any gui to see diff's of a specific revision etc. I would have to do it on the command line so git would be a step back for me. And frankly I don't see the real day to day benefits of git over svn. Svn is wide spread, comes with my preferred operating system already built in. That's not true for Debian Net install for example (even though its only one command away....). > And any people can view the git repo as a CVS repo with > git-cvsserver, if you want to be nice to some users You want to be nice to the core developers and main commiters of Kannel. Those who work on it. For checkout of anonymous folks, you can put up a tar.gz file or binary on to the website. > (but again, > as my simple example showed in last mail, a simple 3-steps > documentation will show a git newbie how to get the repo and > submit a patch). what's wrong with cvs diff -u or svn diff ? Thats just one step instead of 3 ;-) >> Question: Is git POSIX.1 compliant? In terms of platform abstraction? > > According to http://en.wikipedia.org/wiki/Git_(software) it's > POSIX. Quoting the page: > > Git is targeted to run on Linux, but can be used on other > Unix-like operating systems including BSD, Solaris and Darwin. > Git is extremely fast on POSIX-based systems such as Linux. Git > also runs on Windows. > > And don't forget that by using git-cvsserver one can access a git > repo with cvs. I followed http://dysinger.net/2007/12/30/installing-git-on-mac-os-x-105-leopard/ to get it installed. It has already 2 dependencies I don't like. gettext doesnt come with my system. Its installable but it takes an awful lot of time to get it compiled. gcrypt gnu crypto stuff often is not very portable outside linux. I had some bad experiences with gnuTLS (still doesnt work for me). This one however seemed to work. >> There is no Linux specific requirements I guess? What is the >> underlying repo storage type? Berkeley DB? > > It's an (extremely efficient) internal data storage format, seen > as local files on the filesystem. > > As a last comment on the storage type, here's a quote from some > git documentation: > > The Mozilla repository is reported to be almost 12 GiB when > stored in SVN using the fsfs backend. The fsfs backend also > requires over 240,000 files in one directory to record all > 240,000 commits made over the 10 year project history. The > exact same history is stored in Git by only two files totaling > just over 420 MiB. SVN requires 30x the disk space to store the > same history. I would not say diskspace is an issue for the kannel project We don't have THAT many source files or commits compared to Mozilla. One thing: how do you backup a git repository? As SVN has lots of files, you can do incremental backups. Is that the case with git or would it simply have two big monster files you have to do a full backup of on a daily basis? Stipe: how big is our current repository? Andreas Fink Fink Consulting GmbH Global Networks Schweiz AG BebbiCell AG IceCell ehf --------------------------------------------------------------- Tel: +41-61-6666330 Fax: +41-61-6666331 Mobile: +41-79-2457333 Address: Clarastrasse 3, 4058 Basel, Switzerland E-Mail: [email protected] www.finkconsulting.com www.global-networks.ch www.bebbicell.ch --------------------------------------------------------------- ICQ: 8239353 MSN: [email protected] AIM: smsrelay Skype: andreasfink Yahoo: finkconsulting SMS: +41792457333