Mercurial > hg-stable
changeset 26977:bd19561b98d9
filectx: allow custom comparators
We're going to introduce other sorts of filectxes very soon, and we'd like the
cmp method to function properly (i.e. commutatively) for them. The only way to
make that happen is for this cmp method to call into that specialized one if
that defines a custom comparator.
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Fri, 13 Nov 2015 22:37:51 -0800 |
parents | c48fee950ce4 |
children | 9b9d4bcc915e |
files | mercurial/context.py |
diffstat | 1 files changed, 4 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/context.py Fri Nov 13 23:01:36 2015 -0800 +++ b/mercurial/context.py Fri Nov 13 22:37:51 2015 -0800 @@ -747,11 +747,15 @@ def islink(self): return 'l' in self.flags() + _customcmp = False def cmp(self, fctx): """compare with other file context returns True if different than fctx. """ + if fctx._customcmp: + return fctx.cmp(self) + if (fctx._filerev is None and (self._repo._encodefilterpats # if file data starts with '\1\n', empty metadata block is