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

Steve Losh steve at stevelosh.com
Mon Feb 8 17:44:27 CST 2010


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.

> --
> Patrick Mézard


More information about the Mercurial-devel mailing list