b881f32687
- 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
15 lines
401 B
Bash
Executable file
15 lines
401 B
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# changed_templates.sh
|
|
|
|
if command -v chroot-git >/dev/null 2>&1; then
|
|
GIT_CMD=$(command -v chroot-git)
|
|
elif command -v git >/dev/null 2>&1; then
|
|
GIT_CMD=$(command -v git)
|
|
fi
|
|
|
|
/bin/echo -e '\x1b[32mChanged packages:\x1b[0m'
|
|
$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
|