mercurial/hg.py
changeset 13047 6c375e07d673
parent 12735 8888e56ac417
child 13162 115a9760c382
equal deleted inserted replaced
13046:7cc4263e07a9 13047:6c375e07d673
    30             raise util.Abort(_("remote branch lookup not supported"))
    30             raise util.Abort(_("remote branch lookup not supported"))
    31         revs.append(hashbranch)
    31         revs.append(hashbranch)
    32         return revs, revs[0]
    32         return revs, revs[0]
    33     branchmap = repo.branchmap()
    33     branchmap = repo.branchmap()
    34 
    34 
    35     def primary(butf8):
    35     def primary(branch):
    36         if butf8 == '.':
    36         if branch == '.':
    37             if not lrepo or not lrepo.local():
    37             if not lrepo or not lrepo.local():
    38                 raise util.Abort(_("dirstate branch not accessible"))
    38                 raise util.Abort(_("dirstate branch not accessible"))
    39             butf8 = lrepo.dirstate.branch()
    39             branch = lrepo.dirstate.branch()
    40         if butf8 in branchmap:
    40         if branch in branchmap:
    41             revs.extend(node.hex(r) for r in reversed(branchmap[butf8]))
    41             revs.extend(node.hex(r) for r in reversed(branchmap[branch]))
    42             return True
    42             return True
    43         else:
    43         else:
    44             return False
    44             return False
    45 
    45 
    46     for branch in branches:
    46     for branch in branches:
    47         butf8 = encoding.fromlocal(branch)
    47         if not primary(branch):
    48         if not primary(butf8):
       
    49             raise error.RepoLookupError(_("unknown branch '%s'") % branch)
    48             raise error.RepoLookupError(_("unknown branch '%s'") % branch)
    50     if hashbranch:
    49     if hashbranch:
    51         butf8 = encoding.fromlocal(hashbranch)
    50         if not primary(hashbranch):
    52         if not primary(butf8):
       
    53             revs.append(hashbranch)
    51             revs.append(hashbranch)
    54     return revs, revs[0]
    52     return revs, revs[0]
    55 
    53 
    56 def parseurl(url, branches=None):
    54 def parseurl(url, branches=None):
    57     '''parse url#branch, returning (url, (branch, branches))'''
    55     '''parse url#branch, returning (url, (branch, branches))'''
   363                         uprev = dest_repo.lookup(test)
   361                         uprev = dest_repo.lookup(test)
   364                         break
   362                         break
   365                     except error.RepoLookupError:
   363                     except error.RepoLookupError:
   366                         continue
   364                         continue
   367                 bn = dest_repo[uprev].branch()
   365                 bn = dest_repo[uprev].branch()
   368                 dest_repo.ui.status(_("updating to branch %s\n")
   366                 dest_repo.ui.status(_("updating to branch %s\n") % bn)
   369                                     % encoding.tolocal(bn))
       
   370                 _update(dest_repo, uprev)
   367                 _update(dest_repo, uprev)
   371 
   368 
   372         return src_repo, dest_repo
   369         return src_repo, dest_repo
   373     finally:
   370     finally:
   374         release(src_lock, dest_lock)
   371         release(src_lock, dest_lock)