Show More
@@ -0,0 +1,34 b'' | |||
|
1 | #!/bin/bash | |
|
2 | set -eu | |
|
3 | ||
|
4 | revision_in_stack=`hg log --rev '.#stack and ::.' -T '\nONE-REV\n' | grep 'ONE-REV' | wc -l` | |
|
5 | revision_on_phab=`hg log --rev '.#stack and ::. and desc("re:\nDifferential Revision: [^\n]+D\d+$")' -T '\nONE-REV\n' | grep 'ONE-REV' | wc -l` | |
|
6 | ||
|
7 | if [[ $revision_in_stack -eq 0 ]]; then | |
|
8 | echo "stack is empty" >&2 | |
|
9 | exit 1 | |
|
10 | fi | |
|
11 | ||
|
12 | if [[ $revision_on_phab -eq 0 ]]; then | |
|
13 | echo "no tracked diff in this stack" >&2 | |
|
14 | exit 0 | |
|
15 | fi | |
|
16 | ||
|
17 | if [[ $revision_on_phab -lt $revision_in_stack ]]; then | |
|
18 | echo "not all stack changesets (${revision_in_stack}) have matching Phabricator Diff (${revision_on_phab})" >&2 | |
|
19 | exit 2 | |
|
20 | fi | |
|
21 | ||
|
22 | if [[ "$PHABRICATOR_TOKEN" == "" ]]; then | |
|
23 | echo 'missing $PHABRICATOR_TOKEN variable' >&2 | |
|
24 | exit 2 | |
|
25 | fi | |
|
26 | ||
|
27 | hg \ | |
|
28 | --config extensions.phabricator= \ | |
|
29 | --config phabricator.url=https://phab.mercurial-scm.org/ \ | |
|
30 | --config phabricator.callsign=HG \ | |
|
31 | --config auth.phabricator.schemes=https \ | |
|
32 | --config auth.phabricator.prefix=phab.mercurial-scm.org \ | |
|
33 | --config auth.phabricator.phabtoken=$PHABRICATOR_TOKEN \ | |
|
34 | phabsend --rev '.#stack and ::.' |
General Comments 0
You need to be logged in to leave comments.
Login now