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