未验证 提交 2a77a413 编写于 作者: L liyuqian 提交者: GitHub

Make git diff range more robust in format.sh (#5813)

The new approach follows https://github.com/flutter/flutter/pull/19412
which is suggested by Cirrus in https://github.com/cirruslabs/cirrus-ci-docs/issues/17
上级 e555ea57
...@@ -32,12 +32,17 @@ $CLANG_FORMAT --version ...@@ -32,12 +32,17 @@ $CLANG_FORMAT --version
# Compute the diffs. # Compute the diffs.
FILETYPES="*.c *.cc *.cpp *.h *.m *.mm" FILETYPES="*.c *.cc *.cpp *.h *.m *.mm"
DIFF_OPTS="-U0 --no-color --name-only" DIFF_OPTS="-U0 --no-color --name-only"
if git remote get-url upstream >/dev/null 2>&1; then if git remote get-url upstream >/dev/null 2>&1; then
UPSTREAM=upstream/master UPSTREAM=upstream
else else
UPSTREAM=master UPSTREAM=origin
fi; fi;
FILES_TO_CHECK="$(git diff $DIFF_OPTS $UPSTREAM -- $FILETYPES)"
BASE_SHA="$(git fetch $UPSTREAM master > /dev/null 2>&1 && \
(git merge-base --fork-point FETCH_HEAD HEAD || git merge-base FETCH_HEAD HEAD))"
FILES_TO_CHECK="$(git diff $DIFF_OPTS $BASE_SHA..HEAD -- $FILETYPES)"
FAILED_CHECKS=0 FAILED_CHECKS=0
for f in $FILES_TO_CHECK; do for f in $FILES_TO_CHECK; do
...@@ -59,7 +64,7 @@ fi ...@@ -59,7 +64,7 @@ fi
FILETYPES="*.c *.cc *.cpp *.h *.m *.mm *.dart" FILETYPES="*.c *.cc *.cpp *.h *.m *.mm *.dart"
set +e set +e
TRAILING_SPACES=$(git diff $DIFF_OPTS master -- $FILETYPES | xargs grep --line-number --with-filename '\s\+$') TRAILING_SPACES=$(git diff $DIFF_OPTS $BASE_SHA..HEAD -- $FILETYPES | xargs grep --line-number --with-filename '\s\+$')
set -e set -e
if [[ ! -z "$TRAILING_SPACES" ]]; then if [[ ! -z "$TRAILING_SPACES" ]]; then
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册