From b881f326875bfe5b9e47a2efaa636ad881efe813 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Sat, 23 May 2020 20:40:09 +0700 Subject: [PATCH] travis/changed_templates: filter by git itself - Use plumbing git-diff-tree(1) instead of porcelain git-diff(1) - Disable rename detection, gains some speed up and fix missing template with name-status Renamed and Copied. - Use "--diff-filter" to filter by Git itself. - Tell Git to only check 'srcpkgs/*/template', this glob will only look into template file inside direct sub-directory of srcpkgs - With all of those options, we don't need a grep and a pipe --- common/travis/changed_templates.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/common/travis/changed_templates.sh b/common/travis/changed_templates.sh index 2f29c35cdfe..d6a66107bf3 100755 --- a/common/travis/changed_templates.sh +++ b/common/travis/changed_templates.sh @@ -9,4 +9,7 @@ elif command -v git >/dev/null 2>&1; then fi /bin/echo -e '\x1b[32mChanged packages:\x1b[0m' -$GIT_CMD diff --name-status FETCH_HEAD...HEAD | grep "^[AM].*srcpkgs/[^/]*/template$" | cut -d/ -f 2 | tee /tmp/templates | sed "s/^/ /" >&2 +$GIT_CMD diff-tree -r --no-renames --name-only --diff-filter=AM FETCH_HEAD HEAD -- 'srcpkgs/*/template' | + cut -d/ -f 2 | + tee /tmp/templates | + sed "s/^/ /" >&2