Mercurial > hg
view contrib/phab-refresh-stack.sh @ 45995:32dcd783a985
upgrade: move optimisation to something more declarative
This is not great yet, but still better than the previous state. This get use
one step closer to having all the possible "actions" clearly declared and moved
in a dedicated module.
Differential Revision: https://phab.mercurial-scm.org/D9475
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 01 Dec 2020 02:07:15 +0100 |
parents | 5de27798d2af |
children | 372409eb5cd1 |
line wrap: on
line source
#!/bin/bash set -eu revision_in_stack=`hg log --rev '.#stack and ::.' -T '\nONE-REV\n' | grep 'ONE-REV' | wc -l` 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` if [[ $revision_in_stack -eq 0 ]]; then echo "stack is empty" >&2 exit 1 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 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 \ phabsend --rev '.#stack and ::.'