39 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| # SPDX-License-Identifier: GPL-2.0-only
 | |
| 
 | |
| set -eu
 | |
| 
 | |
| 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 "================================================================="
 |