37 lines
1.4 KiB
Bash
Executable File
37 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
diff_patch=$1
|
|
|
|
mkdir -p "$(dirname "${diff_patch}")"
|
|
|
|
git -C "${srctree:-.}" diff HEAD > "${diff_patch}"
|
|
|
|
if [ ! -s "${diff_patch}" ] ||
|
|
[ -z "$(git -C "${srctree:-.}" ls-files --other --exclude-standard | head -n1)" ]; then
|
|
exit
|
|
fi
|
|
|
|
# The source tarball, which is generated by 'git archive', contains everything
|
|
# you committed in the repository. If you have local diff ('git diff HEAD'),
|
|
# it will go into ${diff_patch}. If untracked files are remaining, the resulting
|
|
# source package may not be correct.
|
|
#
|
|
# Examples:
|
|
# - You modified a source file to add #include "new-header.h"
|
|
# but forgot to add new-header.h
|
|
# - You modified a Makefile to add 'obj-$(CONFIG_FOO) += new-dirver.o'
|
|
# but you forgot to add new-driver.c
|
|
#
|
|
# You need to commit them, or at least stage them by 'git add'.
|
|
#
|
|
# This script does not take care of untracked files because doing so would
|
|
# introduce additional complexity. Instead, print a warning message here if
|
|
# untracked files are found.
|
|
# If all untracked files are just garbage, you can ignore this warning.
|
|
echo >&2 "============================ WARNING ============================"
|
|
echo >&2 "Your working tree has diff from HEAD, and also untracked file(s)."
|
|
echo >&2 "Please make sure you did 'git add' for all new files you need in"
|
|
echo >&2 "the source package."
|
|
echo >&2 "================================================================="
|