Patchwork D8126: import: don't ignore `--secret` when `--bypass` is specified

login
register
mail settings
Submitter phabricator
Date Feb. 16, 2020, 10:26 p.m.
Message ID <differential-rev-PHID-DREV-egspyp2hbe2dtvrf333b-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/45265/
State Superseded
Headers show

Comments

phabricator - Feb. 16, 2020, 10:26 p.m.
mharbison72 created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REPOSITORY
  rHG Mercurial

BRANCH
  stable

REVISION DETAIL
  https://phab.mercurial-scm.org/D8126

AFFECTED FILES
  mercurial/cmdutil.py
  tests/test-import.t

CHANGE DETAILS




To: mharbison72, #hg-reviewers
Cc: mercurial-devel

Patch

diff --git a/tests/test-import.t b/tests/test-import.t
--- a/tests/test-import.t
+++ b/tests/test-import.t
@@ -478,6 +478,12 @@ 
   +line 2
   $ hg --cwd b phase
   1: secret
+  $ hg --cwd b --config extensions.strip= strip 1 --no-backup --quiet
+  $ hg --cwd b import --bypass --secret ../exported-tip.patch
+  applying ../exported-tip.patch
+  $ hg --cwd b phase -r tip
+  1: secret
+  $ hg --cwd b --config extensions.strip= strip 1 --no-backup --quiet
   $ rm -r b
 
 
diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -1898,7 +1898,12 @@ 
                 branch=branch,
                 editor=editor,
             )
-            n = memctx.commit()
+
+            overrides = {}
+            if opts.get(b'secret'):
+                overrides[(b'phases', b'new-commit')] = b'secret'
+            with repo.ui.configoverride(overrides, b'import'):
+                n = memctx.commit()
         finally:
             store.close()
     if opts.get(b'exact') and nocommit: