phabricator: add a contrib script
The default Phabricator client arcanist is not friendly to send a stack of
changesets. It works better when a feature branch is reviewed as a single
review unit. However, we want multiple revisions per feature branch.
To be able to have an `hg email`-like UX to send and receive a stack of
commits easily, it seems we have to re-invent things. This patch adds
`phabricator.py` speaking Conduit API [1] in `contrib` as the first step.
This may also be an option for people who don't want to run PHP.
Config could be done in `hgrc` (instead of `arcrc` or `arcconfig`):
[phabricator]
# API token. Get it from https://phab.mercurial-scm.org/conduit/login/
token = cli-xxxxxxxxxxxxxxxxxxxxxxxxxxxx
url = https://phab.mercurial-scm.org/
# callsign is used by the next patch
callsign = HG
This patch only adds a single command: `debugcallconduit` to keep the patch
size small. To test it, having the above config, and run:
$ hg debugcallconduit diffusion.repository.search <<EOF
> {"constraints": {"callsigns": ["HG"]}}
> EOF
The result will be printed in prettified JSON format.
[1]: Conduit APIs are listed at https://phab.mercurial-scm.org/conduit/
test-ancestor.py
test-backwards-remove.t
test-branch-tag-confict.t
test-casecollision.t
test-check-commit.t
test-check-execute.t
test-check-pyflakes.t
test-check-pylint.t
test-check-shbang.t
test-contrib-check-code.t
test-contrib-check-commit.t
test-ctxmanager.py
test-diff-issue2761.t
test-diff-reverse.t
test-diff-subdir.t
test-dirstate-nonnormalset.t
test-doctest.py
test-empty-dir.t
test-excessive-merge.t
test-issue1089.t
test-issue1993.t
test-issue842.t
test-locate.t
test-lrucachedict.py
test-manifest.py
test-merge-default.t
test-merge-subrepos.t
test-merge2.t
test-merge5.t
test-revlog-packentry.t
test-run-tests.py
test-unified-test.t
test-update-reverse.t
test-xdg.t