[PATCH] context: explicitly return a tuple
Sean Farley
sean.michael.farley at gmail.com
Wed May 28 13:32:08 CDT 2014
Pierre-Yves David <pierre-yves.david at ens-lyon.org> writes:
> On 05/28/2014 10:48 AM, Sean Farley wrote:
>> # HG changeset patch
>> # User Sean Farley <sean.michael.farley at gmail.com>
>> # Date 1401228288 18000
>> # Tue May 27 17:04:48 2014 -0500
>> # Node ID ebae0401cb6b854420619962316005e814faad78
>> # Parent 83bbfb23cb24b473286d528ddccbb333329f7f29
>> context: explicitly return a tuple
>>
>> In the refactoring of removing localrepo.status, 2edb8648c500, we accidentally
>> changed the return type from a tuple to a list. Philosophically, this is
>> incorrect so we explicitly return a tuple again.
>>
>> diff --git a/mercurial/context.py b/mercurial/context.py
>> --- a/mercurial/context.py
>> +++ b/mercurial/context.py
>> @@ -324,11 +324,13 @@ class basectx(object):
>> self._repo.ui.status(_("skipping missing "
>> "subrepository: %s\n") % subpath)
>>
>> for l in r:
>> l.sort()
>> - return r
>> +
>> + # we return a tuple to signify that this list isn't changing
>> + return tuple(r)
>>
>>
>> def makememctx(repo, parents, text, user, date, branch, files, store,
>> editor=None):
>> def getfilectx(repo, memctx, path):
>> @@ -1444,11 +1446,11 @@ class workingctx(committablectx):
>> # 'memctx'?
>> s = super(workingctx, self).status(other, match, listignored, listclean,
>> listunknown, listsubrepos)
>> # calling 'super' subtly reveresed the contexts, so we flip the results
>> # (s[1] is 'added' and s[2] is 'removed')
>> - s[1], s[2] = s[2], s[1]
>> + s = s[2], s[1], s[3], s[4]
>
> Isn't this going to have awful silent consequences when 5 < len(s) or
> when someone write code under alcohol influence and silently drop the
> [0] item?
Ugh, this was a bad overlook on my part. I'll fix it up.
More information about the Mercurial-devel
mailing list