message: lint: Don't use TRAVIS_COMMIT_RANGE in whitespace linter
diff: @@ -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
  