Patchwork [2,of,2,Evolve] fold: add squash as a possible alias

login
register
mail settings
Submitter Jordi Gutiérrez Hermoso
Date March 13, 2014, 7:41 p.m.
Message ID <0524e1b37fe1c053d7bf.1394739662@Iris>
Download mbox | patch
Permalink /patch/3941/
State Not Applicable
Headers show

Comments

Jordi Gutiérrez Hermoso - March 13, 2014, 7:41 p.m.
# HG changeset patch
# User Jordi Gutiérrez Hermoso <jordigh@octave.org>
# Date 1394663198 14400
#      Wed Mar 12 18:26:38 2014 -0400
# Node ID 0524e1b37fe1c053d7bfe45e0256075cec380dc9
# Parent  196c2801544045102ce87b2ede3c385f1cc61138
fold: add squash as a possible alias

10 years ago, when svn was the dominant free VCS, we made a concession
for svn. Now that git is the dominant free VCS, we should make a
concession towards git terminology. Most people call "squash" what we
have so far called "fold", so an alias is in order.
Matt Mackall - March 13, 2014, 9:34 p.m.
On Thu, 2014-03-13 at 15:41 -0400, Jordi Gutiérrez Hermoso wrote:
> # HG changeset patch
> # User Jordi Gutiérrez Hermoso <jordigh@octave.org>
> # Date 1394663198 14400
> #      Wed Mar 12 18:26:38 2014 -0400
> # Node ID 0524e1b37fe1c053d7bfe45e0256075cec380dc9
> # Parent  196c2801544045102ce87b2ede3c385f1cc61138
> fold: add squash as a possible alias
> 
> 10 years ago, when svn was the dominant free VCS, we made a concession
> for svn. Now that git is the dominant free VCS, we should make a
> concession towards git terminology. Most people call "squash" what we
> have so far called "fold", so an alias is in order.

No thanks. Every borrowing of git-specific terminology is an implicit
promise to the user that we mirror git behavior and options, and since
we know up front we're going to break that promise, we should avoid
making it.

If anything, we should instead habitually steer clear of git-specific
terminology to avoid confusion. 

(Also, you're actually mistaken about SVN. 10 years ago, CVS was still
dominant and had been for a decade, so most of Mercurial's jargon
borrowing is from CVS. I'd personally spent a total of about half an
hour using SVN before creating Mercurial, and I'm at about maybe an hour
of total exposure today.)

Patch

diff --git a/hgext/evolve.py b/hgext/evolve.py
--- a/hgext/evolve.py
+++ b/hgext/evolve.py
@@ -1927,7 +1927,7 @@ 
     finally:
         lockmod.release(lock, wlock)
 
-@command('^fold',
+@command('^fold|squash',
     [('r', 'rev', [], _("explicitly specify the full set of revision to fold")),
     ] + commitopts,
     # allow to choose the seed ?