|
|
|
@ -13,32 +13,41 @@ while getopts "?" opt; do
|
|
|
|
|
case $opt in
|
|
|
|
|
?)
|
|
|
|
|
echo "Usage: $0 [N]"
|
|
|
|
|
echo " TRAVIS_COMMIT_RANGE='<commit range>' $0"
|
|
|
|
|
echo " COMMIT_RANGE='<commit range>' $0"
|
|
|
|
|
echo " $0 -?"
|
|
|
|
|
echo "Checks unstaged changes, the previous N commits, or a commit range."
|
|
|
|
|
echo "TRAVIS_COMMIT_RANGE='47ba2c3...ee50c9e' $0"
|
|
|
|
|
echo "COMMIT_RANGE='47ba2c3...ee50c9e' $0"
|
|
|
|
|
exit 0
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
if [ -z "${TRAVIS_COMMIT_RANGE}" ]; then
|
|
|
|
|
# TRAVIS_BRANCH will be present in a Travis environment. For builds triggered
|
|
|
|
|
# by a pull request this is the name of the branch targeted by the pull request.
|
|
|
|
|
# https://docs.travis-ci.com/user/environment-variables/
|
|
|
|
|
if [ -n "${TRAVIS_BRANCH}" ]; then
|
|
|
|
|
COMMIT_RANGE="$TRAVIS_BRANCH..HEAD"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ -z "${COMMIT_RANGE}" ]; then
|
|
|
|
|
if [ -n "$1" ]; then
|
|
|
|
|
TRAVIS_COMMIT_RANGE="HEAD~$1...HEAD"
|
|
|
|
|
COMMIT_RANGE="HEAD~$1...HEAD"
|
|
|
|
|
else
|
|
|
|
|
TRAVIS_COMMIT_RANGE="HEAD"
|
|
|
|
|
# This assumes that the target branch of the pull request will be master.
|
|
|
|
|
MERGE_BASE=$(git merge-base HEAD master)
|
|
|
|
|
COMMIT_RANGE="$MERGE_BASE..HEAD"
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
showdiff() {
|
|
|
|
|
if ! git diff -U0 "${TRAVIS_COMMIT_RANGE}" -- "." ":(exclude)depends/patches/" ":(exclude)src/leveldb/" ":(exclude)src/crc32c/" ":(exclude)src/secp256k1/" ":(exclude)src/univalue/" ":(exclude)doc/release-notes/" ":(exclude)src/qt/locale/"; then
|
|
|
|
|
if ! git diff -U0 "${COMMIT_RANGE}" -- "." ":(exclude)depends/patches/" ":(exclude)src/leveldb/" ":(exclude)src/crc32c/" ":(exclude)src/secp256k1/" ":(exclude)src/univalue/" ":(exclude)doc/release-notes/" ":(exclude)src/qt/locale/"; then
|
|
|
|
|
echo "Failed to get a diff"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
showcodediff() {
|
|
|
|
|
if ! git diff -U0 "${TRAVIS_COMMIT_RANGE}" -- *.cpp *.h *.md *.py *.sh ":(exclude)src/leveldb/" ":(exclude)src/crc32c/" ":(exclude)src/secp256k1/" ":(exclude)src/univalue/" ":(exclude)doc/release-notes/" ":(exclude)src/qt/locale/"; then
|
|
|
|
|
if ! git diff -U0 "${COMMIT_RANGE}" -- *.cpp *.h *.md *.py *.sh ":(exclude)src/leveldb/" ":(exclude)src/crc32c/" ":(exclude)src/secp256k1/" ":(exclude)src/univalue/" ":(exclude)doc/release-notes/" ":(exclude)src/qt/locale/"; then
|
|
|
|
|
echo "Failed to get a diff"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|