Mercurial > hg-stable
changeset 39726:7375a9ab0149
filectx: fix return of renamed
How is this not blowing up everywhere?
It seems that filelog.renamed has always returned False (incorrectly a
boolean) instead of the assumed None. Tracing through history, you need
to skip over my move of code in 2013 by annotating from 896193a9cab4^
and you can see the original code is from 2007 (180a3eee4b75) and that
ab9fa7a85dd9 broke this by assuming renamed was a bool (instead of
None).
Refactoring memctx code later exposed this bug.
author | Sean Farley <sean@farley.io> |
---|---|
date | Tue, 17 Jul 2018 17:16:22 -0700 |
parents | 254361f727bd |
children | 6c8ceebce309 |
files | hgext/largefiles/lfcommands.py mercurial/context.py |
diffstat | 2 files changed, 5 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/largefiles/lfcommands.py Wed Sep 19 00:23:02 2018 -0400 +++ b/hgext/largefiles/lfcommands.py Tue Jul 17 17:16:22 2018 -0700 @@ -209,6 +209,10 @@ if f in ctx.manifest(): fctx = ctx.filectx(f) renamed = fctx.renamed() + if renamed is None: + # the code below assumes renamed to be a boolean or a list + # and won't quite work with the value None + renamed = False renamedlfile = renamed and renamed[0] in lfiles islfile |= renamedlfile if 'l' in fctx.flags():