phabricator: add a config knob to import in the secret phase
authorMatt Harbison <matt_harbison@yahoo.com>
Sun, 16 Feb 2020 17:17:41 -0500
changeset 44551 9bae1d1a0f4c
parent 44550 bbb170f9396d
child 44552 f10055b099b3
phabricator: add a config knob to import in the secret phase For my use anyway, it's better to have a config knob that's always set than to try to remember a switch. But we can add a tristate switch if desired. Differential Revision: https://phab.mercurial-scm.org/D8137
hgext/phabricator.py
tests/test-phabricator.t
--- a/hgext/phabricator.py	Sun Feb 16 16:13:36 2020 -0500
+++ b/hgext/phabricator.py	Sun Feb 16 17:17:41 2020 -0500
@@ -124,6 +124,9 @@
 eh.configitem(
     b'phabsend', b'confirm', default=False,
 )
+eh.configitem(
+    b'phabimport', b'secret', default=False,
+)
 
 colortable = {
     b'phabricator.action.created': b'green',
@@ -1729,6 +1732,9 @@
     # Evolve 9.3.0 assumes this key is present in cmdutil.tryimportone()
     opts[b'obsolete'] = False
 
+    if ui.configbool(b'phabimport', b'secret'):
+        opts[b'secret'] = True
+
     def _write(patches):
         parents = repo[None].parents()
 
--- a/tests/test-phabricator.t	Sun Feb 16 16:13:36 2020 -0500
+++ b/tests/test-phabricator.t	Sun Feb 16 17:17:41 2020 -0500
@@ -345,5 +345,39 @@
   o  0   c44b38f24a45   1970-01-01 00:00 +0000   test
        create alpha for phabricator test \x80 (esc)
   
+Phabimport can create secret commits
+
+  $ hg rollback --config ui.rollback=True
+  repository tip rolled back to revision 1 (undo phabimport)
+  $ hg phabimport --stack 'D7918' --test-vcr "$VCR/phabimport-stack.json" \
+  >    --config phabimport.secret=True
+  applying patch from D7917
+  applying patch from D7918
+  $ hg log -T phases
+  changeset:   3:aaef04066140
+  tag:         tip
+  phase:       secret
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  summary:     create draft change for phabricator testing
+  
+  changeset:   2:8de3712202d1
+  phase:       secret
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  summary:     create public change for phabricator testing
+  
+  changeset:   1:a692622e6937
+  phase:       public
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  summary:     create beta for phabricator test
+  
+  changeset:   0:c44b38f24a45
+  phase:       public
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  summary:     create alpha for phabricator test \x80 (esc)
+  
 
   $ cd ..