equal
deleted
inserted
replaced
775 if not computemissing: |
775 if not computemissing: |
776 if record != _fnodesmissingrec: |
776 if record != _fnodesmissingrec: |
777 return False |
777 return False |
778 return None |
778 return None |
779 |
779 |
|
780 fnode = self._computefnode(node) |
|
781 self._writeentry(offset, properprefix, fnode) |
|
782 return fnode |
|
783 |
|
784 def _computefnode(self, node): |
|
785 """Finds the tag filenode for a node which is missing or invalid |
|
786 in cache""" |
|
787 ctx = self._repo[node] |
|
788 rev = ctx.rev() |
780 fnode = None |
789 fnode = None |
781 cl = self._repo.changelog |
790 cl = self._repo.changelog |
782 p1rev, p2rev = cl._uncheckedparentrevs(rev) |
791 p1rev, p2rev = cl._uncheckedparentrevs(rev) |
783 p1node = cl.node(p1rev) |
792 p1node = cl.node(p1rev) |
784 p1fnode = self.getfnode(p1node, computemissing=False) |
793 p1fnode = self.getfnode(p1node, computemissing=False) |
802 try: |
811 try: |
803 fnode = ctx.filenode(b'.hgtags') |
812 fnode = ctx.filenode(b'.hgtags') |
804 except error.LookupError: |
813 except error.LookupError: |
805 # No .hgtags file on this revision. |
814 # No .hgtags file on this revision. |
806 fnode = nullid |
815 fnode = nullid |
807 |
|
808 self._writeentry(offset, properprefix, fnode) |
|
809 return fnode |
816 return fnode |
810 |
817 |
811 def setfnode(self, node, fnode): |
818 def setfnode(self, node, fnode): |
812 """Set the .hgtags filenode for a given changeset.""" |
819 """Set the .hgtags filenode for a given changeset.""" |
813 assert len(fnode) == 20 |
820 assert len(fnode) == 20 |