Mercurial > public > mercurial-scm > hg-stable
annotate contrib/phab-refresh-stack.sh @ 48605:a809f1465a76
filemerge: set default labels a little earlier
By setting the default labels a little earlier, we can rely on them
always being set, as far as I can tell. It may actually even be fine
to rely on that even if we don't set them earlier, but it makes more
sense to me to do it.
Differential Revision: https://phab.mercurial-scm.org/D12015
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 20 Jan 2022 13:43:43 -0800 |
parents | 9be5db6148fb |
children | fba2d7fab11e |
rev | line source |
---|---|
46005
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
1 #!/bin/bash |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
2 set -eu |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
3 |
46047
024f90fc01b5
phab-refresh: do not pick draft changeset from the bare "default" branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46031
diff
changeset
|
4 revision_in_stack=`hg log \ |
024f90fc01b5
phab-refresh: do not pick draft changeset from the bare "default" branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46031
diff
changeset
|
5 --rev '.#stack and ::. and topic()' \ |
024f90fc01b5
phab-refresh: do not pick draft changeset from the bare "default" branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46031
diff
changeset
|
6 -T '\nONE-REV\n' \ |
024f90fc01b5
phab-refresh: do not pick draft changeset from the bare "default" branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46031
diff
changeset
|
7 | grep 'ONE-REV' | wc -l` |
024f90fc01b5
phab-refresh: do not pick draft changeset from the bare "default" branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46031
diff
changeset
|
8 revision_on_phab=`hg log \ |
024f90fc01b5
phab-refresh: do not pick draft changeset from the bare "default" branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46031
diff
changeset
|
9 --rev '.#stack and ::. and topic() and desc("re:\nDifferential Revision: [^\n]+D\d+$")'\ |
024f90fc01b5
phab-refresh: do not pick draft changeset from the bare "default" branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46031
diff
changeset
|
10 -T '\nONE-REV\n' \ |
024f90fc01b5
phab-refresh: do not pick draft changeset from the bare "default" branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46031
diff
changeset
|
11 | grep 'ONE-REV' | wc -l` |
46005
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
12 |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
13 if [[ $revision_in_stack -eq 0 ]]; then |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
14 echo "stack is empty" >&2 |
46031
372409eb5cd1
phab-refresh: do not error out when the stack is empty
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46005
diff
changeset
|
15 exit 0 |
46005
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
16 fi |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
17 |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
18 if [[ $revision_on_phab -eq 0 ]]; then |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
19 echo "no tracked diff in this stack" >&2 |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
20 exit 0 |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
21 fi |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
22 |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
23 if [[ $revision_on_phab -lt $revision_in_stack ]]; then |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
24 echo "not all stack changesets (${revision_in_stack}) have matching Phabricator Diff (${revision_on_phab})" >&2 |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
25 exit 2 |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
26 fi |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
27 |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
28 if [[ "$PHABRICATOR_TOKEN" == "" ]]; then |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
29 echo 'missing $PHABRICATOR_TOKEN variable' >&2 |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
30 exit 2 |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
31 fi |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
32 |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
33 hg \ |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
34 --config extensions.phabricator= \ |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
35 --config phabricator.url=https://phab.mercurial-scm.org/ \ |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
36 --config phabricator.callsign=HG \ |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
37 --config auth.phabricator.schemes=https \ |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
38 --config auth.phabricator.prefix=phab.mercurial-scm.org \ |
5de27798d2af
contrib: add a small script to refresh all diff in the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
39 --config auth.phabricator.phabtoken=$PHABRICATOR_TOKEN \ |
46047
024f90fc01b5
phab-refresh: do not pick draft changeset from the bare "default" branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46031
diff
changeset
|
40 phabsend --rev '.#stack and ::. and topic()' \ |
46048
9be5db6148fb
phab-refresh: allow passing additional argument to the phabsend
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
46047
diff
changeset
|
41 "$@" |