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
--- 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 ..