[PATCH 09 of 19] context: add a no-op _prestatus method

Sean Farley sean.michael.farley at gmail.com
Thu May 15 19:35:41 CDT 2014


Pierre-Yves David <pierre-yves.david at ens-lyon.org> writes:

> On 05/15/2014 02:16 PM, Sean Farley wrote:
>> # HG changeset patch
>> # User Sean Farley <sean.michael.farley at gmail.com>
>> # Date 1398134350 18000
>> #      Mon Apr 21 21:39:10 2014 -0500
>> # Node ID 232598babb1191bceaa31f13d860568c795352bf
>> # Parent  a689734f58d9cf710c0ac21243d69e652d40377a
>> context: add a no-op _prestatus method
>
> You need to explains the "why" of this change a bit more

Ok, it will be something like this:

"This patch adds a private _prestatus method so that certain contexts,
such as workingctx, can add custom pre-processing to status."

Later on we need to decide what to do with workingctx.status(memctx)
because currently we will end up here:

r = [[], [], [], [], [], [], []]
match = ctx2._matchstatus(ctx1, r, match, ...)
r = ctx2._prestatus(ctx1, r, match, ...)
r = ctx2._generatestatus(ctx1, r, match, ...)
r = ctx2._poststatus(ctx1, r, match, ...)

This works perfectly well for workingctx with changectx but is maybe too
fragile for memctx. Should we be calling it like this:

r = ctx1._prestatus(ctx1, r, match, ...)
r = ctx2._prestatus(ctx2, r, match, ...)

?

>> diff --git a/mercurial/context.py b/mercurial/context.py
>> --- a/mercurial/context.py
>> +++ b/mercurial/context.py
>> @@ -70,10 +70,13 @@ class basectx(object):
>>           for fn in mf.keys():
>>               if not match(fn):
>>                   del mf[fn]
>>           return mf
>>
>> +    def _prestatus(self, other, s, match, listignored, listclean, listunknown):
>
> and a docstring here.

Sure, will do.


More information about the Mercurial-devel mailing list