1#!/bin/sh 2# SPDX-License-Identifier: GPL-2.0-only 3 4diff_patch="${1}" 5untracked_patch="${2}" 6srctree=$(dirname $0)/../.. 7 8rm -f ${diff_patch} ${untracked_patch} 9 10if ! ${srctree}/scripts/check-git; then 11 exit 12fi 13 14mkdir -p "$(dirname ${diff_patch})" "$(dirname ${untracked_patch})" 15 16git -C "${srctree}" diff HEAD > "${diff_patch}" 17 18if [ ! -s "${diff_patch}" ]; then 19 rm -f "${diff_patch}" 20 exit 21fi 22 23git -C ${srctree} status --porcelain --untracked-files=all | 24while read stat path 25do 26 if [ "${stat}" = '??' ]; then 27 28 if ! diff -u /dev/null "${srctree}/${path}" > .tmp_diff && 29 ! head -n1 .tmp_diff | grep -q "Binary files"; then 30 { 31 echo "--- /dev/null" 32 echo "+++ linux/$path" 33 cat .tmp_diff | tail -n +3 34 } >> ${untracked_patch} 35 fi 36 fi 37done 38 39rm -f .tmp_diff 40 41if [ ! -s "${diff_patch}" ]; then 42 rm -f "${diff_patch}" 43 exit 44fi 45