|  | #!/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 "=================================================================" |