diff --git a/Tools/scripts/git-diff-ports.sh b/Tools/scripts/git-diff-ports.sh new file mode 100755 index 000000000000..73ae0a8031a3 --- /dev/null +++ b/Tools/scripts/git-diff-ports.sh @@ -0,0 +1,35 @@ +#!/bin/sh +# +# MAINTAINER: yuri@FreeBSD.org + +set -e +set -o pipefail + +export LC_ALL=C + +## +## git-diff-ports.sh: returns the list of ports with uncommitted changes in the repository +## + +# check that packaged dependencies are installed + +for dep in git; do + if ! which -s $dep; then + echo "error: the '$dep' dependency is missing" + if [ $dep == "git" ]; then + echo "... please install the 'git' package" + fi + exit 1 + fi +done + + +# MAIN + +git diff HEAD "$@" | + grep "^diff " | + grep -v Mk/ | + grep -v Tools/ | + sed -E 's|diff --git a/||; s| .*||; s|([^/]+/[^/]+).*|\1|' | + sort | + uniq