##// END OF EJS Templates
admin-commands: move the chainsaw extension to the admin commands module...
admin-commands: move the chainsaw extension to the admin commands module Activating an extension is always a little bit of a chore and the long name, options and "chainsaw" bits are deterrent enough. This also allows us to help the discoverability for people looking for repo "administration" tools, with the widest semantic of "administration".

File last commit:

r49546:fba2d7fa default
r52396:d4095f7b stable
Show More
phab-refresh-stack.sh
47 lines | 1.3 KiB | application/x-sh | BashLexer
/ contrib / phab-refresh-stack.sh
contrib: add a small script to refresh all diff in the current stack...
r46605 #!/bin/bash
set -eu
phabricator-refresh: add a magic value to skip it in the CI...
r49546 if [[ "$PHABRICATOR_TOKEN" == "NO-PHAB" ]]; then
echo 'Skipping Phabricator Step' >&2
exit 0
fi
phab-refresh: do not pick draft changeset from the bare "default" branch...
r46658 revision_in_stack=`hg log \
--rev '.#stack and ::. and topic()' \
-T '\nONE-REV\n' \
| grep 'ONE-REV' | wc -l`
revision_on_phab=`hg log \
--rev '.#stack and ::. and topic() and desc("re:\nDifferential Revision: [^\n]+D\d+$")'\
-T '\nONE-REV\n' \
| grep 'ONE-REV' | wc -l`
contrib: add a small script to refresh all diff in the current stack...
r46605
if [[ $revision_in_stack -eq 0 ]]; then
echo "stack is empty" >&2
phab-refresh: do not error out when the stack is empty...
r46637 exit 0
contrib: add a small script to refresh all diff in the current stack...
r46605 fi
if [[ $revision_on_phab -eq 0 ]]; then
echo "no tracked diff in this stack" >&2
exit 0
fi
if [[ $revision_on_phab -lt $revision_in_stack ]]; then
echo "not all stack changesets (${revision_in_stack}) have matching Phabricator Diff (${revision_on_phab})" >&2
exit 2
fi
if [[ "$PHABRICATOR_TOKEN" == "" ]]; then
echo 'missing $PHABRICATOR_TOKEN variable' >&2
phabricator-refresh: add a magic value to skip it in the CI...
r49546 echo '(use PHABRICATOR_TOKEN="NO-PHAB" to disable this step)' >&2
contrib: add a small script to refresh all diff in the current stack...
r46605 exit 2
fi
hg \
--config extensions.phabricator= \
--config phabricator.url=https://phab.mercurial-scm.org/ \
--config phabricator.callsign=HG \
--config auth.phabricator.schemes=https \
--config auth.phabricator.prefix=phab.mercurial-scm.org \
--config auth.phabricator.phabtoken=$PHABRICATOR_TOKEN \
phab-refresh: do not pick draft changeset from the bare "default" branch...
r46658 phabsend --rev '.#stack and ::. and topic()' \
phab-refresh: allow passing additional argument to the phabsend...
r46659 "$@"