MQ usability

Stuart W. Marks smarks at smarks.org
Sat Aug 15 17:06:09 CDT 2009


Peter Williams wrote:
> On 15/08/09 13:13, Stuart W. Marks wrote:
>> But for MQ, the patch is mainly an internal storage format.
> 
> No, it's not.  In a lot of cases, MQ is being used to generate patch 
> sets for distribution to users who aren't necessarily using MQ to manage 
> them at there end.

As Isaac Jurado pointed out, "hg export" will generate a patch, as will "hg 
diff" and "hg qdiff". I should also add that even if MQ stores a patch file in 
git format, these commands will produce output in conventional diff format if 
their options and defaults indicate that they should. (Of course, they may also 
lose information in the process.)

Anyway, the point is that even if MQ were to change its patch storage format, 
you could still share conventional patches with non-MQ users by using these 
commands instead of accessing the patch files directly.

>> The current situation, where MQ silently loses information unless 
>> --git is
>> specified, is pretty unfriendly.
> 
> It should be remembered that anyone who wants --git to be the default 
> for their MQ patches just has to put:
> 
> [defaults]
> qrefresh = --git
> 
> in their ~/hgrc (or equivalent).

I still think this is pretty unfriendly. Yes, this is the workaround that 
everybody has to install after getting burned once or twice. And then they have 
to do it again when they start using hg on a new system, forget to add this 
workaround, and then get burned again.

BTW this is tracked as http://mercurial.selenic.com/bts/issue1640 . This is 
currently classified as a "wish" even though I think it's a bug that MQ can 
silently lose information.

s'marks


More information about the Mercurial-devel mailing list