mercurial/commands.py
changeset 23891 5827ad0b849e
parent 23888 6d8bebf4d6d4
child 23895 cda18ded2c48
equal deleted inserted replaced
23890:7817059917d0 23891:5827ad0b849e
  6140     lock = repo.lock()
  6140     lock = repo.lock()
  6141     try:
  6141     try:
  6142         for fname in fnames:
  6142         for fname in fnames:
  6143             f = hg.openpath(ui, fname)
  6143             f = hg.openpath(ui, fname)
  6144             gen = exchange.readbundle(ui, f, fname)
  6144             gen = exchange.readbundle(ui, f, fname)
  6145             modheads = changegroup.addchangegroup(repo, gen, 'unbundle',
  6145             if isinstance(gen, bundle2.unbundle20):
  6146                                                   'bundle:' + fname)
  6146                 tr = repo.transaction('unbundle')
       
  6147                 try:
       
  6148                     op = bundle2.processbundle(repo, gen, lambda: tr)
       
  6149                     tr.close()
       
  6150                 finally:
       
  6151                     if tr:
       
  6152                         tr.release()
       
  6153                 changes = [r.get('result', 0)
       
  6154                            for r in op.records['changegroup']]
       
  6155                 modheads = changegroup.combineresults(changes)
       
  6156             else:
       
  6157                 modheads = changegroup.addchangegroup(repo, gen, 'unbundle',
       
  6158                                                       'bundle:' + fname)
  6147     finally:
  6159     finally:
  6148         lock.release()
  6160         lock.release()
  6149 
  6161 
  6150     return postincoming(ui, repo, modheads, opts.get('update'), None)
  6162     return postincoming(ui, repo, modheads, opts.get('update'), None)
  6151 
  6163