[PATCH 1 of 1] mq: add parent node IDs to MQ patches on qrefresh/qnew

Patrick Mézard pmezard at gmail.com
Tue Feb 9 01:26:17 CST 2010


Le 09/02/10 00:44, Steve Losh a écrit :
> On Feb 8, 2010, at 3:14 PM, Patrick Mézard <pmezard at gmail.com> wrote:
> 
>> Le 08/02/10 00:27, Steve Losh a écrit :
>>> # HG changeset patch
>>> # User Steve Losh <steve at stevelosh.com>
>>> # Date 1265557674 18000
>>> # Node ID d278169e766357baf21b67e7d1919d5d02438268
>>> # Parent  9b87c5f4c634b9718940e6380a62d7fcf1bcddaf
>>> mq: add parent node IDs to MQ patches on qrefresh/qnew
>>>
>>> The goal of this patch is to add the IDs of the parents of applied MQ
>>> patches
>>> into the patch file headers whenever qnew or qrefresh are run.
>>>
>>> This will serve as a reminder of when the patches last applied
>>> cleanly and
>>> will let us do more intelligent things in the future, such as:
>>>
>>>    * Resolve conflicts found when qpushing to a new location by merging
>>>      instead of simply showing rejects.
>>>
>>>    * Display better diffs of versioned MQ patches because we can tell
>>> how the
>>>      patched files have changed in the meantime.
>>>
>>> Here are the new rules this patch introduces.  They are checked in
>>> this order:
>>>
>>>    * If a patch currently has old, plain-style patch headers ("From:"
>>> and
>>>      "Date:") do not change the style or add any new headers.
>>>
>>>    * If the 'mq.plain' configuration setting is true, only plain-style
>>>      headers will be used for all MQ patches.
>>>
>>>    * qnew will initialize new patches with HG-style headers and fill
>>> in the
>>>      "# Parent" header with the appropriate parent node.
>>>
>>>    * qrefresh will refresh the "# Parent" header with the current
>>> parent of
>>>      the current patch.
>>>
>>> Tests have been updated to reflect the new behavior and test it.
>>
>> In crew: http://hg.intevation.org/mercurial/crew/rev/8cb81d75730c
>>
>> Thanks!
>>
>> Could you document the option in hgrc.5.txt, and perhaps refactor the
>> patchheader thing?
> 
> I'm wrapping up the patchheader (and header tests) refactoring now. The
> airport I'm currently laying over in for a few more hours doesn't have
> wifi though, so I'll send them whenever I get the chance.
> 
> As for documenting in hgrc.5.txt, I looked but didn't see an MQ section
> (it already has a git config option but that's not in hgrc.5.txt). I
> also didn't see a section for other bundled extensions like color.
> 
> Are (bundled) extensions important enough to have their options
> documented in the hgrc man page? I can certainly add it, but if I do we
> should probably add in docs for config options of other bundled
> extensions too.

No sorry, I replied too fast, it should be documented in the mq.py header.

--
Patrick Mézard


More information about the Mercurial-devel mailing list