mirror of https://github.com/torvalds/linux.git
45 lines
842 B
Bash
Executable File
45 lines
842 B
Bash
Executable File
#!/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
|