716 '''returns a dictionary {branch: [branchheads]} with branchheads |
716 '''returns a dictionary {branch: [branchheads]} with branchheads |
717 ordered by increasing revision number''' |
717 ordered by increasing revision number''' |
718 branchmap.updatecache(self) |
718 branchmap.updatecache(self) |
719 return self._branchcaches[self.filtername] |
719 return self._branchcaches[self.filtername] |
720 |
720 |
721 def branchtip(self, branch): |
721 def branchtip(self, branch, ignoremissing=False): |
722 '''return the tip node for a given branch''' |
722 '''return the tip node for a given branch |
|
723 |
|
724 If ignoremissing is True, then this method will not raise an error. |
|
725 This is helpful for callers that only expect None for a missing branch |
|
726 (e.g. namespace). |
|
727 |
|
728 ''' |
723 try: |
729 try: |
724 return self.branchmap().branchtip(branch) |
730 return self.branchmap().branchtip(branch) |
725 except KeyError: |
731 except KeyError: |
726 raise error.RepoLookupError(_("unknown branch '%s'") % branch) |
732 if not ignoremissing: |
|
733 raise error.RepoLookupError(_("unknown branch '%s'") % branch) |
|
734 else: |
|
735 pass |
727 |
736 |
728 def lookup(self, key): |
737 def lookup(self, key): |
729 return self[key].node() |
738 return self[key].node() |
730 |
739 |
731 def lookupbranch(self, key, remote=None): |
740 def lookupbranch(self, key, remote=None): |