[BUG] The -f option to qnew has been removed

Peter Williams pwil3058 at bigpond.net.au
Fri Nov 19 18:41:29 CST 2010


On 20/11/10 08:15, Matt Mackall wrote:
> On Fri, 2010-11-19 at 11:39 +1000, Peter Williams wrote:
>> The behaviour of qnew no longer conforms to the description on page 235
>> of "Mercurial, The Definitive Guide" due to the removal of the -f option
>> to this command.
>
> The -f option has not been removed. In fact it's used in no fewer than
> 24 places in our test suite. It's simply been deprecated.

Since the old -f behaviour is now the default deprecating it and leaving 
it there is worse than removing it.

>
> We had a long discussion about whether the -f behavior was actually
> useful last February and found that -f was almost universally a
> hindrance, to the point that everyone who used it used -f ALWAYS, thus
> nullifying it.

Not everyone who uses Mercurial is on the mail list.

I use MQ a lot and very rarely use -f with qnew.  The only time I do so 
is when I've forgotten to do a qnew before is start making changes.

I rely on the old qnew without -f behaviour to protect me from the much 
more frequent case where I forget to do a qrefresh before I do a qnew.

The fact that the new behaviour is silent makes matters worse.  If I 
hadn't been using gwsmhg (and noticed there were files in the new patch) 
the fact that I'd accidentally forgotten an update and changes that 
logically belonged to the old patch had ended up in the new patch would 
have been unfortunate.

Why couldn't those who wanted -f as default behaviour just specify this 
in their .hgrc?

I seems to me that people who don't like/understand/use the quilt patch 
management paradigm the MQ was intended to implement are slowly but 
surely making it unusable with that paradigm.  If they wish to use a 
different patch management paradigm why don't the implement an extension 
for that paradigm and leave MQ alone?

Peter
PS I've modified gwsmhg to work around this change.
PPS What happened to the doctrine of maintaining backward compatibility?



More information about the Mercurial-devel mailing list