phabricator: add --blocker argument to phabsend to specify blocking reviewers
The way to signal to Conduit that a reviewer is considered blocking is just to
wrap their PHID in "blocking()" when including it in the list of PHIDs passed
to `reviewers.add`.
arc doesn't have a --blocker, instead one is supposed to append a '!' to the
end of reviewer names (I think reviewers are usually added in an editor rather
than the command line, where '!'s can be more hazardous).
moz-phab (Mozilla's arcanist wrapper) does have a --blocker argument, and being
explicit like this is also more discoverable. Even `arc diff`'s help doesn't
seem to mention the reviewer! syntax.
Differential Revision: https://phab.mercurial-scm.org/D6512
$ . "$TESTDIR/narrow-library.sh"
create full repo
$ hg init master
$ cd master
$ echo init > init
$ hg ci -Aqm 'initial'
$ mkdir inside
$ echo inside > inside/f1
$ mkdir outside
$ echo outside > outside/f1
$ hg ci -Aqm 'add inside and outside'
$ echo modified > inside/f1
$ hg ci -qm 'modify inside'
$ echo modified > outside/f1
$ hg ci -qm 'modify outside'
$ cd ..
$ hg clone --narrow ssh://user@dummy/master narrow --include inside
requesting all changes
adding changesets
adding manifests
adding file changes
added 4 changesets with 2 changes to 1 files
new changesets *:* (glob)
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd narrow
$ hg debugindex -c
rev linkrev nodeid p1 p2
0 0 9958b1af2add 000000000000 000000000000
1 1 2db4ce2a3bfe 9958b1af2add 000000000000
2 2 0980ee31a742 2db4ce2a3bfe 000000000000
3 3 4410145019b7 0980ee31a742 000000000000
$ hg update -q 0
Can update to revision with changes inside
$ hg update -q 'desc("add inside and outside")'
$ hg update -q 'desc("modify inside")'
$ find *
inside
inside/f1
$ cat inside/f1
modified
Can update to revision with changes outside
$ hg update -q 'desc("modify outside")'
$ find *
inside
inside/f1
$ cat inside/f1
modified
Can update with a deleted file inside
$ hg rm inside/f1
$ hg update -q 'desc("modify inside")'
$ hg update -q 'desc("modify outside")'
$ hg update -q 'desc("initial")'
$ hg update -q 'desc("modify inside")'
Can update with a moved file inside
$ hg mv inside/f1 inside/f2
$ hg update -q 'desc("modify outside")'
$ hg update -q 'desc("add inside and outside")'
$ hg update -q 'desc("modify inside")'