~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/revisionspec.py

Branch.dotted_revno_to_revision_id API

Show diffs side-by-side

added added

removed removed

Lines of Context:
352
352
            revs_or_none = None
353
353
 
354
354
        if dotted:
355
 
            branch.lock_read()
356
355
            try:
357
 
                revision_id_to_revno = branch.get_revision_id_to_revno_map()
358
 
                revisions = [revision_id for revision_id, revno
359
 
                             in revision_id_to_revno.iteritems()
360
 
                             if revno == match_revno]
361
 
            finally:
362
 
                branch.unlock()
363
 
            if len(revisions) != 1:
 
356
                revision = branch.dotted_revno_to_revision_id(match_revno)
 
357
            except errors.NoSuchRevision:
364
358
                raise errors.InvalidRevisionSpec(self.user_spec, branch)
365
359
            else:
366
360
                # there is no traditional 'revno' for dotted-decimal revnos.
367
361
                # so for  API compatability we return None.
368
 
                return branch, None, revisions[0]
 
362
                return branch, None, revision
369
363
        else:
370
364
            last_revno, last_revision_id = branch.last_revision_info()
371
365
            if revno < 0: