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