emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: source repository


From: Stephen J. Turnbull
Subject: Re: source repository
Date: Wed, 04 Jul 2007 13:26:00 +0900

Eli Zaretskii writes:

 > > Oh.  A pity Emacs still uses so old system.
 > 
 > Why should we care how old it is, if it suits our needs?

Because it doesn't suit your needs.  Didn't you just have a month of
acrimony over how to handle branching after the 22.1 release?  Don't
you still completely lack any policy about how things will be handled
in the future except "Richard will decide, after hearing the advice of
other developers"?  Doesn't that still bother at least a few of the
core developers?  Richard has said it's ok to merge multi-tty, but I
detect deep breaths around the table, as nobody is quite ready to go
put it in CVS.

*All* of that would be unnecessary with any modern dSCM, including the
deep breaths.  Anybody with 100MB (well, that's what XEmacs requires
w/o packages, so GNU Emacs might need 200MB?) of spare disk space can
do a trial merge with no risk.

 > We are not exactly spoiled by abundance of free resources to invest
 > effort in jobs that are ``nice to have''.

This is an investment with returns that Warren Buffett can only dream
of.

 > Just think how many man-hours will be wasted if every Emacs
 > developer and contributor will have to install, learn, and set up
 > an unfamiliar configuration management package.

Not so.  You were correct the first time: it's an "investment", not a
"waste".

The real issue is preserving history across the transition.  This is
costly in thought and time, and requires some effort, planning, and
trial-and-error by the staff.  But not that much; ask Miles---he
thought it was worth putting Emacs into Arch for personal use, AIUI,
then graciously offered it to the world.

As for the rest, a bridge from a dSCM to CVS is trivial; people who
checkout from CVS and mail patches can continue to do so.  (It does
require duplicate diskspace for the repository, of course.)

Installation of darcs, git, and mercurial are trivial[1] on all open
source systems that I use (GNU/Linux, NetBSD, Mac OS X/MacPorts).  I
assume that would extend to other GNU systems (including Cygwin and
perhaps MSYS), other *BSD, and Mac OS X/Fink.  Installation of git
from source on the open source systems I use was straightforward, as
it was on Solaris 9.  git and darcs may be hard to install from source
on non-POSIX systems, but Mercurial should be no problem (100% python).

Familiarity is not a problem as long as only one of the SCMs is chosen
as the official one.  The semantics of the commands corresponding to
checkout, update, and commit are similar at the level of what "every
Emacs developer and contributor" will have to learn.  Branching is
different, but perhaps more intuitive; however most contributors will
be working with the mainline, or perhaps Emacs 22, and will not need
to worry about it more than once in a year.

The people who do need to worry about the subtle semantic differences
across various systems are precisely the same people who will benefit
hugely from well-supported branching.  That's not a net cost, either.



Footnotes: 
[1]  Darcs installation can be very clock-time-consuming if you don't
already have Haskell (ghc) installed and are a build-from-source type.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]