From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org, Kenichi Handa <handa@m17n.org>
Subject: Re: Syncing Gnus and Emacs repositories
Date: Mon, 18 Jun 2007 15:53:09 +0900 [thread overview]
Message-ID: <878xahbvoq.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <ud4zurm86.fsf@gnu.org>
Eli Zaretskii writes:
> > From: Kenichi Handa <handa@m17n.org>
> > CC: dak@gnu.org, emacs-devel@gnu.org
> > Date: Mon, 18 Jun 2007 08:07:28 +0900
> >
> > No. I asked to merge unicode-2 into the trunk, but as it
> > was not accepted, I asked not to make heavy changes to the
> > trunk unless one takes care of emacs-unicode-2 branch too.
>
> So in that case, making such changes in the Unicode branch directly,
> as I suggested, would be a good way of installing changes without
> interfering with the future merge, right?
Assuming that those making changes in the Unicode branch are
thoroughly familiar with it, yes. If (as seems more likely), most
developers will split their attention three ways, between 22.x
bugfixes, permissible changes to the trunk, and blue-sky changes to
the emacs-unicode-2 branch, then people will care most about their own
blue-sky changes, and know very little about regressions in
emacs-unicode-2, until pointed out to them. But emacs-unicode-2 will
be a branch, still, and will not get so much testing. The risk of
regression in emacs-unicode-2 work seems substantial. If I were
Handa-san, I would resist opening that branch to commits related to
work that could be done in non-emacs-unicode-2 branches.
Also, David Kastrup is quite right about the deficiencies of CVS.
XEmacs did something similar to what is being proposed here. Under
pressure from people who were not primarily interested in the 21.4
release, we branched in January 2001, pushing blue-sky projects off on
a branch, and keeping 21.4 on the trunk. It immediately became clear
this was unsustainable due to the difficulty of using cvs annotate,
cvs diff, and cvs update -j with mainline on a CVS branch. So in
April 2001, less than three months later, we transplanted the trunk
(starting from the fork) to a new release-21-4 branch, and the 21.5
branch back to the trunk, at fairly high cost in current usefulness of
annotate, diff and update -j. However, with mainline on the branch,
that cost was increasing rapidly, while with mainline on the trunk,
the cost decreased to negligible by the end of summer 2001. While in
the end we avoided total disaster, the rationalization effort was
unaccompanied by any net benefit whatsoever, in fact, there were net
costs both before and after the rationalization compared to doing it
right by putting mainline on the trunk as soon was the 21.4 feature
freeze was implemented.
Caveat: as of CVS 1.12 or so, the -r TAG:DATE option format is
available. This might mitigate the very strong bias of CVS in favor
of comparisons with and merges to trunk. However, because of the
structure of ,v files, there is no question that after a few hundred
commits work that involves both mainline and another branch will
become painfully inefficient.
N.B. Emacs's situation is somewhat different from XEmacs 21.4, as
people seem willing to accept an across-the-board freeze during the
release cycle. However, given that the EMACS_22_BASE branch now
exists, IMO *all* large merges and other potentially destabilizing
changes should be done to the trunk where they will get maximum
testing; the only question is whether they should be synchronized to
events in Emacs 22 for some reason, or whether the trunk should be
opened now to merge of emacs-unicode-2 and so on, subject to
negotiation among the developers working on the trunk (ie, not
considering effects on Emacs 22).
Bottom line: The risks are high, the benefits are small. I strongly
recommend against doing substantial work on a CVS branch, unless it
has a single theme and is explicitly aimed at a single merge to
mainline, then retirement.
If Richard sustains his veto of merging emacs-unicode-2 and other
potentially destabilizing work on the trunk, then, based on that
experience, I see only two practical choices. (1) Accept that the
trunk will stay in feature slush for a while, and work on the
branch(es) that interest you in separate workspaces until permission
is given to merge to trunk. (2) Switch to a distributed SCM like Arch
or git for cooperative work on merged workspaces, and use CVS only to
maintain continuity of communication with the rest of the world and
those whose current work is focused on the 22.x branch or features
admissible on the trunk in CVS. (Subversion is not a panacea here.)
next prev parent reply other threads:[~2007-06-18 6:53 UTC|newest]
Thread overview: 134+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-13 18:41 Syncing Gnus and Emacs repositories Reiner Steib
2007-06-13 19:57 ` Stefan Monnier
2007-06-13 21:47 ` Reiner Steib
2007-06-13 22:21 ` Stefan Monnier
2007-06-13 22:41 ` Glenn Morris
2007-06-13 23:22 ` Chong Yidong
2007-06-14 6:31 ` Emacs 23 development policy (was: Syncing Gnus and Emacs repositories) Reiner Steib
2007-06-14 7:25 ` David Reitter
2007-06-14 13:42 ` Adrian Robert
2007-06-14 19:56 ` Emacs 23 development policy Stefan Monnier
2007-06-14 16:20 ` Syncing Gnus and Emacs repositories Richard Stallman
2007-06-14 16:27 ` Chong Yidong
2007-06-15 0:57 ` Kenichi Handa
2007-06-15 2:03 ` Miles Bader
2007-06-15 3:14 ` Kenichi Handa
2007-06-15 2:35 ` Nick Roberts
2007-06-15 19:22 ` Richard Stallman
2007-06-15 21:48 ` Nick Roberts
2007-06-16 18:50 ` Richard Stallman
2007-06-16 19:23 ` Chong Yidong
2007-06-16 19:28 ` David Kastrup
2007-06-17 8:54 ` Richard Stallman
2007-06-17 19:47 ` David Kastrup
2007-06-17 8:54 ` Richard Stallman
2007-06-18 1:36 ` Kenichi Handa
2007-06-18 21:30 ` Richard Stallman
2007-06-19 5:01 ` Kenichi Handa
2007-06-19 5:31 ` Stefan Monnier
2007-06-19 22:26 ` Richard Stallman
2007-06-20 13:18 ` Kenichi Handa
2007-06-20 17:36 ` Richard Stallman
2007-06-15 22:12 ` David Kastrup
2007-06-16 10:48 ` Eli Zaretskii
2007-06-16 12:09 ` David Kastrup
2007-06-16 13:01 ` Eli Zaretskii
2007-06-16 13:13 ` David Kastrup
2007-06-16 13:23 ` Eli Zaretskii
2007-06-16 14:05 ` David Kastrup
2007-06-16 16:34 ` Eli Zaretskii
2007-06-16 17:38 ` David Kastrup
2007-06-16 18:26 ` Eli Zaretskii
2007-06-16 13:55 ` YAMAMOTO Mitsuharu
2007-06-16 14:16 ` David Kastrup
2007-06-17 23:07 ` Kenichi Handa
2007-06-18 3:10 ` Eli Zaretskii
2007-06-18 5:18 ` David Kastrup
2007-06-18 6:01 ` Nick Roberts
2007-06-18 19:12 ` Eli Zaretskii
2007-06-18 21:12 ` Nick Roberts
2007-06-19 22:25 ` Richard Stallman
2007-06-18 19:11 ` Eli Zaretskii
2007-06-18 21:30 ` Richard Stallman
2007-06-18 6:53 ` Stephen J. Turnbull [this message]
2007-06-18 7:24 ` David Kastrup
2007-06-18 8:34 ` Stephen J. Turnbull
2007-06-18 8:50 ` David Kastrup
2007-06-18 19:23 ` Eli Zaretskii
2007-06-19 0:53 ` Stephen J. Turnbull
2007-06-19 5:17 ` Eli Zaretskii
2007-06-19 5:37 ` David Kastrup
2007-06-19 6:09 ` Eli Zaretskii
2007-06-19 17:53 ` Stephen J. Turnbull
2007-06-19 5:21 ` David Kastrup
2007-06-19 2:19 ` Kenichi Handa
2007-06-19 5:20 ` Eli Zaretskii
2007-06-23 8:13 ` Giorgos Keramidas
2007-06-16 18:50 ` Richard Stallman
2007-06-16 14:22 ` Proposal for a 22.2/trunk development model (was: Syncing Gnus and Emacs repositories) Dan Nicolaescu
2007-06-16 14:37 ` Proposal for a 22.2/trunk development model David Kastrup
2007-06-16 16:01 ` Dan Nicolaescu
2007-06-16 16:41 ` David Kastrup
2007-06-16 17:05 ` Dan Nicolaescu
2007-07-01 20:40 ` Proposal for a 22.2/trunk development model (was: Syncing Gnus and Emacs repositories) Richard Stallman
2007-06-15 19:21 ` Syncing Gnus and Emacs repositories Richard Stallman
2007-06-14 16:48 ` Jay Belanger
2007-06-17 13:47 ` Reiner Steib
2007-07-09 2:22 ` Miles Bader
2007-07-09 17:21 ` Richard Stallman
2007-07-10 10:33 ` Miles Bader
2007-07-10 12:19 ` Daiki Ueno
2007-07-10 15:51 ` Leo
2007-07-10 20:05 ` Miles Bader
2006-12-16 2:58 ` [bug] PGG shows ?? when prompt for passphrase Leo
2006-12-17 1:30 ` Daiki Ueno
2006-12-17 2:18 ` Leo
2006-12-17 3:28 ` Daiki Ueno
2006-12-17 4:18 ` Leo
2006-12-17 4:28 ` Daiki Ueno
2006-12-17 5:27 ` Leo
2006-12-18 1:12 ` Richard Stallman
2006-12-18 1:34 ` Daiki Ueno
[not found] ` <E1GwhJI-0003jz-GI@fencepost.gnu.org>
2006-12-19 23:55 ` Daiki Ueno
[not found] ` <E1Gw733-00050z-Ic@fencepost.gnu.org>
[not found] ` <c371ac3b-6629-4e1a-a023-92982698664b@well-done.deisui.org>
[not found] ` <6662a3b9-1148-4aa0-bd2d-29a67be38d76@well-done.deisui.org>
[not found] ` <E1Gx14z-0000Zc-Lm@fencepost.gnu.org>
[not found] ` <5a520e06-4ee3-4c4f-9345-d49a666516f9@well-done.deisui.org>
[not found] ` <E1GyDFo-00006s-IW@fencepost.gnu.org>
[not found] ` <7f60c21d-2f66-4c4b-9abb-e377ca24a153@well-done.deisui.org>
[not found] ` <fe674575-f87f-46e4-8287-6481b3fc6f03@well-done.deisui.org>
[not found] ` <E1Gz20z-0003hC-Nb@fencepost.gnu.org>
[not found] ` <844cd50a-ec18-4b09-a057-35bdfb5173fd@well-done.deisui.org>
[not found] ` <E1GzP1P-0006JH-Lb@fencepost.gnu.org>
[not found] ` <8ba25607-9381-4a27-ae53-8b0f3ccc3ac1@well-done.deisui.org>
[not found] ` <E1Gzg8G-0002bZ-JG@fencepost.gnu.org>
[not found] ` <366fa6ab-42a0-4df5-a17f-4ac3d1744d78@well-done.deisui.org>
[not found] ` <E1H0Jui-0005YH-HB@fencepost.gnu.org>
[not found] ` <ec5e0f1b-45c5-4ed5-ae1c-766fa33e3ee0@well-done.deisui.org>
2006-12-30 18:24 ` pgg-encrypt is a pain in the neck Richard Stallman
2006-12-30 19:41 ` Sascha Wilde
2006-12-31 1:02 ` Daiki Ueno
2006-12-31 12:27 ` Sascha Wilde
2006-12-31 14:07 ` Reiner Steib
2006-12-31 14:38 ` Daiki Ueno
2006-12-31 22:13 ` Richard Stallman
2006-12-31 1:47 ` Richard Stallman
2006-12-31 12:54 ` Sascha Wilde
2006-12-31 14:13 ` Daiki Ueno
2006-12-31 22:13 ` Richard Stallman
2007-01-02 0:28 ` Daiki Ueno
2007-01-02 16:37 ` Richard Stallman
2007-01-02 19:53 ` Reiner Steib
2006-12-31 22:13 ` Richard Stallman
2007-01-02 18:43 ` Stefan Monnier
2006-12-31 1:46 ` Richard Stallman
[not found] ` <E1H0Juj-0005YY-RU@fencepost.gnu.org>
2007-07-10 22:47 ` Syncing Gnus and Emacs repositories Daiki Ueno
2007-07-10 22:54 ` Miles Bader
2007-07-11 0:07 ` Daiki Ueno
2007-07-11 21:03 ` Richard Stallman
2007-07-10 21:29 ` Stefan Monnier
2007-07-11 2:25 ` Miles Bader
2007-07-11 21:03 ` Richard Stallman
2007-07-11 3:05 ` Richard Stallman
2007-07-11 3:43 ` Daiki Ueno
2007-07-11 9:38 ` Sascha Wilde
2007-07-11 10:22 ` Daiki Ueno
2007-07-11 21:04 ` Richard Stallman
2007-06-14 8:38 ` Miles Bader
[not found] <E1Ibp6i-0001vw-LM@fencepost.gnu.org>
[not found] ` <b4m7im7spqn.fsf@jpl.org>
2007-10-01 17:40 ` [mail.list.steel.mental@gmail.com: chinese group names can not displayed properly in *Complation* buffer] Richard Stallman
2007-10-01 18:27 ` Syncing Gnus and Emacs repositories (was: [mail.list.steel.mental@gmail.com: chinese group names can not displayed properly in *Complation* buffer]) Reiner Steib
2007-10-02 3:32 ` Richard Stallman
2007-10-02 7:16 ` Syncing Gnus and Emacs repositories Reiner Steib
2007-10-02 13:35 ` Daiki Ueno
2007-10-02 21:59 ` Richard Stallman
2007-10-03 11:09 ` Daiki Ueno
2007-10-03 11:29 ` Leo
2007-10-03 13:41 ` Reiner Steib
2007-10-03 14:10 ` Leo
2007-10-04 2:03 ` Richard Stallman
2007-10-16 21:10 ` Reiner Steib
2007-10-16 21:19 ` Miles Bader
2007-10-02 21:59 ` Richard Stallman
2007-10-16 20:58 ` Reiner Steib
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=878xahbvoq.fsf@uwakimon.sk.tsukuba.ac.jp \
--to=stephen@xemacs.org \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=handa@m17n.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.