Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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