hgext/evolve.py
branchstable
changeset 1054 93e920feff5e
parent 1052 ac47c2f774a8
child 1055 cfe1b9d3e5d9
equal deleted inserted replaced
1053:bfa9d535f436 1054:93e920feff5e
   931 
   931 
   932 @eh.wrapfunction(mercurial.cmdutil, 'tryimportone')
   932 @eh.wrapfunction(mercurial.cmdutil, 'tryimportone')
   933 def tryimportone(orig, ui, repo, hunk, parents, opts, *args, **kwargs):
   933 def tryimportone(orig, ui, repo, hunk, parents, opts, *args, **kwargs):
   934     extracted = patch.extract(ui, hunk)
   934     extracted = patch.extract(ui, hunk)
   935     expected = extracted[5]
   935     expected = extracted[5]
       
   936     expected = node.bin(expected)
   936     oldextract = patch.extract
   937     oldextract = patch.extract
   937     try:
   938     try:
   938         patch.extract = lambda ui, hunk: extracted
   939         patch.extract = lambda ui, hunk: extracted
   939         ret = orig(ui, repo, hunk, parents, opts, *args, **kwargs)
   940         ret = orig(ui, repo, hunk, parents, opts, *args, **kwargs)
   940     finally:
   941     finally:
   942     created = ret[1]
   943     created = ret[1]
   943     if opts['obsolete'] and created is not None and created != expected:
   944     if opts['obsolete'] and created is not None and created != expected:
   944             tr = repo.transaction('import-obs')
   945             tr = repo.transaction('import-obs')
   945             try:
   946             try:
   946                 metadata = {'user': ui.username()}
   947                 metadata = {'user': ui.username()}
   947                 repo.obsstore.create(tr, node.bin(expected), (created,),
   948                 repo.obsstore.create(tr, expected, (created,),
   948                                      metadata=metadata)
   949                                      metadata=metadata)
   949                 tr.close()
   950                 tr.close()
   950             finally:
   951             finally:
   951                 tr.release()
   952                 tr.release()
   952     return ret
   953     return ret