[PATCH stable] unionrepo: fix wrong rev being checked in iscensored (issue5024)

Sean Farley sean at farley.io
Sun Jan 10 16:25:01 CST 2016


Yuya Nishihara <yuya at tcha.org> writes:

> On Sat, 09 Jan 2016 17:03:58 -0800, Sean Farley wrote:
>> Yuya Nishihara <yuya at tcha.org> writes:
>> > On Fri, 08 Jan 2016 10:10:28 -0800, Sean Farley wrote:
>> >> # HG changeset patch
>> >> # User Sean Farley <sean at farley.io>
>> >> # Date 1452106915 28800
>> >> #      Wed Jan 06 11:01:55 2016 -0800
>> >> # Branch stable
>> >> # Node ID 258348d91ba9fd91adecd9cb5c3333816dc2f76d
>> >> # Parent  7c598947fbbd78b26989326c61345c6e46855bdc
>> >> unionrepo: fix wrong rev being checked in iscensored (issue5024)
>> >> 
>> >> diff --git a/mercurial/unionrepo.py b/mercurial/unionrepo.py
>> >> --- a/mercurial/unionrepo.py
>> >> +++ b/mercurial/unionrepo.py
>> >> @@ -180,11 +180,12 @@ class unionfilelog(unionrevlog, filelog.
>> >>  
>> >>      def iscensored(self, rev):
>> >>          """Check if a revision is censored."""
>> >>          if rev <= self.repotiprev:
>> >>              return filelog.filelog.iscensored(self, rev)
>> >> -        return self.revlog2.iscensored(rev)
>> >> +        node = self.node(rev)
>> >> +        return self.revlog2.iscensored(self.revlog2.rev(node))
>> >
>> > Looks good, but can you add a test? ™
>> 
>> Sadly, I couldn't reproduce it simply. Could anyone help?
>
> Got it.
>
> hg init a
> cd a
> echo a0 >> f
> hg ci -Am a0
> cd ..
>
> # +2 revisions to exceed index boundary
> hg init b
> cd b
> echo b0 >> f
> hg ci -Am b0
> echo b1 >> f
> hg ci -m b1
>
> # "hg files -v" to call fctx.size() -> fctx.iscensored()
> hg files -R union:../a -r2 -v

Awesome! Many thanks :-)


More information about the Mercurial-devel mailing list