summaryrefslogtreecommitdiff
path: root/tools/create_patch.sh
blob: 689f11ddd290f16971a7b517c1d59912041e8c02 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/sh
#
# create_patch.sh - Creates an enhancement patch based on the current Git changes
#

if [ "$#" -ne 1 ]
then
    echo "Usage: $0 patch_file"
    echo '    Creates a patch file based on the changes made to the current directory'
    exit 1
fi

# Make sure this is a git repository
if [ ! -d .git ]
then
    echo 'Error: The current directory is not a Git repository.'
    exit 1
fi

# 'git diff' is stupid and doesn't show new untracked files, so we must add them first.
git add .
# Generate the patch.
git diff -p --staged > "$1"
# Undo the 'git add'.
git reset