| #!/bin/sh |
| # SPDX-License-Identifier: GPL-2.0-only |
| |
| diff_patch="${1}" |
| untracked_patch="${2}" |
| srctree=$(dirname $0)/../.. |
| |
| rm -f ${diff_patch} ${untracked_patch} |
| |
| if ! ${srctree}/scripts/check-git; then |
| exit |
| fi |
| |
| mkdir -p "$(dirname ${diff_patch})" "$(dirname ${untracked_patch})" |
| |
| git -C "${srctree}" diff HEAD > "${diff_patch}" |
| |
| if [ ! -s "${diff_patch}" ]; then |
| rm -f "${diff_patch}" |
| exit |
| fi |
| |
| git -C ${srctree} status --porcelain --untracked-files=all | |
| while read stat path |
| do |
| if [ "${stat}" = '??' ]; then |
| |
| if ! diff -u /dev/null "${srctree}/${path}" > .tmp_diff && |
| ! head -n1 .tmp_diff | grep -q "Binary files"; then |
| { |
| echo "--- /dev/null" |
| echo "+++ linux/$path" |
| cat .tmp_diff | tail -n +3 |
| } >> ${untracked_patch} |
| fi |
| fi |
| done |
| |
| rm -f .tmp_diff |
| |
| if [ ! -s "${diff_patch}" ]; then |
| rm -f "${diff_patch}" |
| exit |
| fi |