unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: "Óscar Fuentes" <ofv@wanadoo.es>
Cc: emacs-devel@gnu.org
Subject: Re: Incorrect merge
Date: Wed, 03 Nov 2010 03:34:52 +0900	[thread overview]
Message-ID: <87eib3wp4j.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <8762wfk5r0.fsf@telefonica.net>

Óscar Fuentes writes:

 > Adding an extra branch does not increase the current workload.

Of course it does.  Most occasional developers work only on the branch
that they use every day, either trunk or stable/maintenance.  That's
where they test, that's where they refine.  Adding the common-fixes
branch means they need to clone and maintain that branch, and work in
a branch that they don't use.

Even for frequent contributors who help with porting patches back and
forth between the branches, this requires more thinking about where
you should do the work.

 > They would commit to common-fixes the same way they do for emacs-23.

You mean, stuff that doesn't belong there, as started this thread? ;-)

 > If the set of people who don't want to learn determines how the project
 > is managed,

It already has, in both the choice of BTS and the choice of dVCS.  In
the sense that in both cases the ability to continue with basically
the same flow, even if implemented with slightly different commands,
was a crucial requirement in choice of software.

 > And I think that you'll find quite harder to implement it on bzr
 > than on SVN.

Depends on what you mean.  The basic functionality we're talking about
here, blocking certain revisions from being merged or cherry-picked,
depends on a globally unique revision ID.  In a centralized system,
there's only one authority, so there's no problem.  In a dVCS you have
to contrive one, but all the dVCSes have one.  So I don't think it's
any harder in this sense.

On the other hand, this can really only be enforced at push time.  So
a developer could make several commits in a branch that is blocked
from merging before realizing it.  That would be inconvenient, and
it's not obvious to me how to work around.  But I don't think it would
be more than an inconvenience.

Finally, although right now Emacs doesn't have the skills AFAIK, in
the long run implementing for Bazaar might be far more powerful since
the script could be adapted from svnmerge.py, written in Python, and
thus have direct access to Bazaar's internal information.  Maybe even
as a plugin.

 > It is quite pathetic to even consider using hacks that workaround
 > the limitations of simplistic VCS like svn

Call it what you like; however, the fact is that Emacs has chosen to
use a workflow that emphasizes Bazaar's ability to work like a
centralized system.  Individual developers can use the decentralized
features as they like, but the project workflow does not mandate them.

 > when there are standard practices on dVCS for properly solving the
 > problem at hand.

But there aren't.  Only Darcs supports cherry-picking properly.  And
as an add-on hack, svnmerge.py does.  The revision-oriented systems
don't implement the necessary accounting.  What is available for the
revision-oriented dVCSes is a set of workflows that *mostly* avoid
creating a problem, but have their own inconveniences.

I suspect the Emacs community will prefer to implement a tool that
codifies their workflow and adds certain features such as true
cherry-picking and blocking revisions, to changing the workflow.



  reply	other threads:[~2010-11-02 18:34 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-01 13:48 Incorrect merge Ken Brown
2010-11-01 15:46 ` Chong Yidong
2010-11-01 16:02 ` Chong Yidong
2010-11-01 17:54   ` Eli Zaretskii
2010-11-01 20:21     ` Juanma Barranquero
2010-11-01 20:37       ` Eli Zaretskii
2010-11-01 22:19         ` Juanma Barranquero
2010-11-02  1:50           ` Stephen J. Turnbull
2010-11-02 14:54             ` Stefan Monnier
2010-11-02 15:57               ` Óscar Fuentes
2010-11-02 16:45                 ` Stephen J. Turnbull
2010-11-02 17:14                   ` Óscar Fuentes
2010-11-02 18:34                     ` Stephen J. Turnbull [this message]
2010-11-02 18:56                       ` Óscar Fuentes
2010-11-02 20:25                         ` Stephen J. Turnbull
2010-11-02 20:44                           ` Óscar Fuentes
2010-11-03  5:22                             ` Stephen J. Turnbull
2010-11-03  6:46                               ` Óscar Fuentes
2010-11-03  7:44                                 ` Stephen J. Turnbull
2010-11-03 13:51                                   ` Stefan Monnier
2010-11-04 20:16                                     ` Lars Magne Ingebrigtsen
2010-11-05  9:30                                       ` Andreas Schwab
2010-11-05 11:42                                         ` Eli Zaretskii
2010-11-08 16:03                                       ` Stefan Monnier
2010-11-03  6:52                               ` Óscar Fuentes
2010-11-03  7:47                                 ` Stephen J. Turnbull
2010-11-02 17:22                 ` Stefan Monnier
2010-11-02 17:37                   ` Óscar Fuentes
2010-11-02 18:38                 ` Eli Zaretskii
2010-11-02 19:19                   ` Óscar Fuentes
2010-11-02 21:21                     ` Stefan Monnier
2010-11-01 23:02         ` Óscar Fuentes
2010-11-02  1:29           ` Jason Rumney
2010-11-02  5:16             ` Óscar Fuentes
2010-11-02  9:16               ` Andreas Schwab
2010-11-02 14:17                 ` Óscar Fuentes
2010-11-02 17:24                   ` Stefan Monnier
2010-11-02 17:41                     ` Óscar Fuentes
2010-11-02 17:44                     ` Davis Herring

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87eib3wp4j.fsf@uwakimon.sk.tsukuba.ac.jp \
    --to=stephen@xemacs.org \
    --cc=emacs-devel@gnu.org \
    --cc=ofv@wanadoo.es \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).