In defense of qnext and qtop

Thomas Arendsen Hein thomas at intevation.de
Fri Sep 11 10:24:59 CDT 2009


* Christian Boos <cboos at neuf.fr> [20090905 11:57]:
> Dirkjan Ochtman wrote:
> > I did get the impression from the list that *many* users (me
> > included!) don't use qnext and qprev. 

I never used qnext and qprev, too, but I use qtop to remember the
current patch (in a script) and return to it later after doing some
qpush magic.

> Still, I don't see how it's so important that the command line for 
> Mercurial itself stays immutable on the ground of being used in numerous 
> scripts, when the command line interface for extensions could be changed 
> at will, most notably for the oldest and certainly most widely used 
> extension.

Yes, I got hit by this in a script.

> There are also certainly numerous scripts that are going to 
> break because of this change. Therefore I would expect that at least it 
> should be possible to use the [alias] extension to "recover" the 
> commands, hence the plea for my little qtop.patch sent yesterday.

I tried this, too, the documentation for 'qapplied -1' sounds like
qtop, but it is qprev. This is clearly a bug.

> Actually, qseries could get all of --prev, --next, --top, --applied and 
> --unapplied options, so you could also remove qapp and qunapp if you 
> want and I'd still be happy thanks to the alias extension ;-)

This would be enough for me, too.

Additionally we should follow our own guidelines:

http://mercurial.selenic.com/wiki/CompatibilityRules#Commands says:
"Removing a feature requires a deprecation period of at least one
 major release"

http://mercurial.selenic.com/wiki/CompatibilityRules#Extensions says:
"Extensions that are shipped in hgext/ follow the same compatibility
 rules as core code"

So add --prev, --next, --top (and maybe --applied and --unapplied)
to qseries, restore qprev and friends, but mark them as deprecated.

Remove qprev and friends in the following major release.

Regards,
Thomas Arendsen Hein

-- 
thomas at intevation.de - http://intevation.de/~thomas/ - OpenPGP key: 0x5816791A
Intevation GmbH, Neuer Graben 17, 49074 Osnabrueck - AG Osnabrueck, HR B 18998
Geschaeftsfuehrer: Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner


More information about the Mercurial-devel mailing list