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:
> 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.
More information about the Mercurial-devel