[PATCH 0 of 3] Add option for operating on queue repository

Dan Villiom Podlaski Christiansen danchr at gmail.com
Fri Jul 10 07:53:46 CDT 2009


On 08/07/2009, at 00.30, Michael Sommerville wrote:

>
> On 7 Jul 2009, at 20:13, Greg Ward wrote:
>
>> On Tue, Jul 7, 2009 at 11:49 AM, Dan Villiom Podlaski
>> Christiansen<danchr at gmail.com> wrote:
>>> Versioning a patch queue doesn't have to be any more advanced,  
>>> difficult or complicated than just dealing with the patch queue  
>>> itself. I'd say the current difficulty is caused by the limited  
>>> interface to the queue repository.
>>
>> Right.  And either -Q or '/usr/bin/mq' addresses that difficulty.

Not really; you earlier acknowledged that there were good arguments  
for not making MQ the second command installed by Mercurial. If it  
isn't installed by default — as MQ currently is — it isn't available  
to all users, and thus doesn't fully address that difficulty.

> I'm not sure that I  entirely agree.  In my experience, trying to  
> make sense of diffs of diffs is hard.  It would be really nice to  
> have a means of producing the resultant diff in the base repo  
> between arbitrary revisions of the patch repo, and have this  
> functionality replace what 'mq diff' currently does.

I agree. But adding that involves much more digging into the innards  
of MQ and Mercurial than I did for this patch :)

>>> 3) The option could lead to less clutter, by either hiding,  
>>> deprecating or removing some of the
>>> commands exposed by MQ. The obvious example of this is qcommit,  
>>> but it could also apply
>>> to qinit and qclone.
>>
>> Factoring out an 'mq' command has the same benefit: it would
>> theoretically let us deprecate/eliminate qcommit and qclone.  So -Q
>> doesn't really have any benefit there relative to 'mq'.  They both
>> beat the status quo.

But if the ‘mq’ script isn't available to everyone that ‘qcommit’ and  
‘qclone’ are available to now, it can't provide a functional  
replacement of MQ. Thus, deprecating — and eventually removing — those  
commands would lead to Mercurial being less capable to some users.

> However, IMHO, the suggested '-Q' option is a far more elegant  
> solution from a users perspective.

I couldn't have said it any better myself ;)

On a related note, I've made the wrapper use a whitelist rather than a  
blacklist, and implemented basic deprecation and hiding for ‘qcommit’.  
I'll send the patches in a follow-up to this mail.

(The other patch I sent fixed ‘hg outgoing -Q’.)

--

Dan Villiom Podlaski Christiansen
danchr at gmail.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1943 bytes
Desc: not available
Url : http://selenic.com/pipermail/mercurial-devel/attachments/20090710/f0188de3/attachment.bin 


More information about the Mercurial-devel mailing list