equal
deleted
inserted
replaced
742 continue |
742 continue |
743 return c |
743 return c |
744 |
744 |
745 def lookup(self, id): |
745 def lookup(self, id): |
746 """locate a node based on revision number or subset of hex nodeid""" |
746 """locate a node based on revision number or subset of hex nodeid""" |
747 if id in self.nodemap: |
|
748 return id |
|
749 if type(id) == type(0): |
747 if type(id) == type(0): |
750 return self.node(id) |
748 return self.node(id) |
751 try: |
749 try: |
752 rev = int(id) |
750 rev = int(id) |
753 if str(rev) != id: raise ValueError |
751 if str(rev) != id: raise ValueError |
758 c = [] |
756 c = [] |
759 for n in self.nodemap: |
757 for n in self.nodemap: |
760 if hex(n).startswith(id): |
758 if hex(n).startswith(id): |
761 c.append(n) |
759 c.append(n) |
762 if len(c) > 1: raise RevlogError(_("Ambiguous identifier")) |
760 if len(c) > 1: raise RevlogError(_("Ambiguous identifier")) |
763 if len(c) < 1: raise RevlogError(_("No match found")) |
761 if len(c) == 1: return c[0] |
764 return c[0] |
762 |
765 |
763 # might need fixing if we change hash lengths |
766 return None |
764 if len(id) == 20 and id in self.nodemap: |
|
765 return id |
|
766 |
|
767 raise RevlogError(_("No match found")) |
767 |
768 |
768 def diff(self, a, b): |
769 def diff(self, a, b): |
769 """return a delta between two revisions""" |
770 """return a delta between two revisions""" |
770 return mdiff.textdiff(a, b) |
771 return mdiff.textdiff(a, b) |
771 |
772 |