[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Switching to git?
From: |
Yoshinori K. Okuji |
Subject: |
Re: Switching to git? |
Date: |
Tue, 18 Dec 2007 03:57:37 +0100 |
User-agent: |
KMail/1.9.4 |
On Tuesday 18 December 2007 02:20, Pavel Roskin wrote:
> If there are any specific problems with git pertinent to GRUB or
> preferences of the GRUB developers, I'm ready to convey them to the
> git developers and take the blame (if any).
>
> We don't have to look for the best tool, just for the best tool for
> this particular project and those working on it.
I bet that you under-estimate the pain of migrating to another SCM. I have
experienced such migrations twice, and they were always a pain, something
that nobody wants to repeat.
Some reasons:
- The repository will be temporarily down (negligible in a long term).
- All developers are forced to install new software and learn it (always a
pain).
- All local (pending) changes in working copies become very hard to merge
(extremely painful).
- It is hard to re-select yet another SCM later, because old software is
usually better supported for migrations, i.e. it's not cheap to migrate back
and forth (very painful).
Since Robert was in a hurry so much, I had to stop it immediately with very
terse words. I am sorry about that, but please do not make a haste. I have
discussed (and objected to) possibilities to move to another SCM in the IRC,
the mailing list, etc., but it seems that people forget my words at every
time. It's sad to me, as I must repeat the same thing again and again.
First of all, this is not a hurry at all. CVS is far from nice, but it has
worked well for GRUB for the past 10 years, and we haven't had any critical
problem with it. This is because GRUB is a very simple project from the
viewpoint of source code management.
You might be excited with technical innovations, but please don't forget that
it costs to change things. Note that I don't mean that we should't change,
but that we must be a bit more conservative with regard to SCM. Since we are
not developing SCM itself, we should consider carefully pros and cons, before
making an action.
Ok, now about the git. As Tomáš pointed out, the lack of portability is
regression from CVS. If you think, for example, grub4dos is important, why
can you choose git?
Besides the portability, I don't like the merging algorithm. If my knowledge
is not completely outdated yet, git still uses 3-way merging, right? I don't
describe the math here, as it is (a little) documented in the revctrl wiki:
http://revctrl.org/CategoryMergeAlgorithm
As long as git uses this naive algorithm, I am not willing to use it.
CVS's merging algorithm is also very simple and stupid, but it is not a big
problem, because CVS is centralized. When getting distributed, things get far
more complicated and critical, since there are so many corner cases where one
cannot see in a centralized SCM.
These are the requirements for a new SCM in the context of GRUB from my point
of view:
- Free Software (definitely!)
- Good merging algorithm (if distributed)
- Good web interface (as good as viewvc)
- Commit notification by email at the server side
- Good portability (as good as CVS)
- Ability to track changes efficiently, i.e. annotation (probably supported by
most SCMs)
- Usable interface (not like arch)
- Good user document (like svnbook)
- No conflict in a (main) repository (not like monotone)
Other features are not so important, since GRUB is small.
Here are some examples:
- Subversion (+ svk) is good enough, if we only sometimes want to work
offline.
- Bazaar looks good, if we believe that their claim is all correct.
Okuji
- Re: Switching to git?, (continued)
- Re: Switching to git?, Otavio Salvador, 2007/12/17
- Re: Switching to git?, willem, 2007/12/17
- Re: Switching to git?, Pavel Roskin, 2007/12/17
- Re: Switching to git?, Otavio Salvador, 2007/12/17
- Re: Switching to git?,
Yoshinori K. Okuji <=
- Re: Switching to git?, Otavio Salvador, 2007/12/18
- Re: Switching to git?, Vesa Jääskeläinen, 2007/12/18
- Re: Switching to git?, Pavel Roskin, 2007/12/18
- Re: Switching to git?, Vesa Jääskeläinen, 2007/12/21
- RE: Switching to git?, Gregg C Levine, 2007/12/18
- Re: Switching to git?, Yoshinori K. Okuji, 2007/12/22
- Re: Switching to git?, Robert Millan, 2007/12/22
- Re: Switching to git?, Pavel Roskin, 2007/12/22
- Re: Switching to git?, Pavel Roskin, 2007/12/18
- Re: Switching to git?, Yoshinori K. Okuji, 2007/12/22