mercurial/cmdutil.py
changeset 27613 dffd2ed9a7c4
parent 27612 a0dfe8d286fe
child 27622 0bc71f45d362
equal deleted inserted replaced
27612:a0dfe8d286fe 27613:dffd2ed9a7c4
   875     branch = extractdata.get('branch')
   875     branch = extractdata.get('branch')
   876     nodeid = extractdata.get('nodeid')
   876     nodeid = extractdata.get('nodeid')
   877     p1 = extractdata.get('p1')
   877     p1 = extractdata.get('p1')
   878     p2 = extractdata.get('p2')
   878     p2 = extractdata.get('p2')
   879 
   879 
       
   880     nocommit = opts.get('no_commit')
       
   881     importbranch = opts.get('import_branch')
   880     update = not opts.get('bypass')
   882     update = not opts.get('bypass')
   881     strip = opts["strip"]
   883     strip = opts["strip"]
   882     prefix = opts["prefix"]
   884     prefix = opts["prefix"]
   883     sim = float(opts.get('similarity') or 0)
   885     sim = float(opts.get('similarity') or 0)
   884     if not tmpname:
   886     if not tmpname:
   929             if p1 != parents[0]:
   931             if p1 != parents[0]:
   930                 updatefunc(repo, p1.node())
   932                 updatefunc(repo, p1.node())
   931             if p2 != parents[1]:
   933             if p2 != parents[1]:
   932                 repo.setparents(p1.node(), p2.node())
   934                 repo.setparents(p1.node(), p2.node())
   933 
   935 
   934             if opts.get('exact') or opts.get('import_branch'):
   936             if opts.get('exact') or importbranch:
   935                 repo.dirstate.setbranch(branch or 'default')
   937                 repo.dirstate.setbranch(branch or 'default')
   936 
   938 
   937             partial = opts.get('partial', False)
   939             partial = opts.get('partial', False)
   938             files = set()
   940             files = set()
   939             try:
   941             try:
   944                     raise error.Abort(str(e))
   946                     raise error.Abort(str(e))
   945                 if partial:
   947                 if partial:
   946                     rejects = True
   948                     rejects = True
   947 
   949 
   948             files = list(files)
   950             files = list(files)
   949             if opts.get('no_commit'):
   951             if nocommit:
   950                 if message:
   952                 if message:
   951                     msgs.append(message)
   953                     msgs.append(message)
   952             else:
   954             else:
   953                 if opts.get('exact') or p2:
   955                 if opts.get('exact') or p2:
   954                     # If you got here, you either use --force and know what
   956                     # If you got here, you either use --force and know what
   975                     for idfunc in extrapostimport:
   977                     for idfunc in extrapostimport:
   976                         extrapostimportmap[idfunc](repo[n])
   978                         extrapostimportmap[idfunc](repo[n])
   977                 finally:
   979                 finally:
   978                     repo.ui.restoreconfig(allowemptyback)
   980                     repo.ui.restoreconfig(allowemptyback)
   979         else:
   981         else:
   980             if opts.get('exact') or opts.get('import_branch'):
   982             if opts.get('exact') or importbranch:
   981                 branch = branch or 'default'
   983                 branch = branch or 'default'
   982             else:
   984             else:
   983                 branch = p1.branch()
   985                 branch = p1.branch()
   984             store = patch.filestore()
   986             store = patch.filestore()
   985             try:
   987             try:
  1000                                             branch, files, store,
  1002                                             branch, files, store,
  1001                                             editor=editor)
  1003                                             editor=editor)
  1002                 n = memctx.commit()
  1004                 n = memctx.commit()
  1003             finally:
  1005             finally:
  1004                 store.close()
  1006                 store.close()
  1005         if opts.get('exact') and opts.get('no_commit'):
  1007         if opts.get('exact') and nocommit:
  1006             # --exact with --no-commit is still useful in that it does merge
  1008             # --exact with --no-commit is still useful in that it does merge
  1007             # and branch bits
  1009             # and branch bits
  1008             ui.warn(_("warning: can't check exact import with --no-commit\n"))
  1010             ui.warn(_("warning: can't check exact import with --no-commit\n"))
  1009         elif opts.get('exact') and hex(n) != nodeid:
  1011         elif opts.get('exact') and hex(n) != nodeid:
  1010             raise error.Abort(_('patch is damaged or loses information'))
  1012             raise error.Abort(_('patch is damaged or loses information'))