committablefilectx: override linkrev() to point to the associated changectx
This is necessary to annotate workingctx revision. basefilectx.linkrev() can't
be used because committablefilectx has no filelog.
committablefilectx looks for parents() from self._changectx. That means fctx
is linked to self._changectx, so linkrev() can simply be aliased to rev().
--- a/mercurial/context.py Sat Aug 16 13:44:16 2014 +0900
+++ b/mercurial/context.py Thu Mar 19 23:31:53 2015 +0900
@@ -1594,6 +1594,10 @@
def __nonzero__(self):
return True
+ def linkrev(self):
+ # linked to self._changectx no matter if file is modified or not
+ return self.rev()
+
def parents(self):
'''return parent filectxs, following copies if necessary'''
def filenode(ctx, path):