##// END OF EJS Templates
dirstate-v2: no longer register the data-file during transaction...
dirstate-v2: no longer register the data-file during transaction If the data file change during the transaction, we cannot truncate it. The content of the file itself is fine as it will get backed up at the same time as the docket. Leaving the trailing data at the end of failed transaction is fine. The dirstate-v2 format supports it. The dead data will simply we written over if necessary.

File last commit:

r49546:fba2d7fa default
r50364:b5c85248 6.2.2 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 "$@"