[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