File: guilt-import

package info (click to toggle)
guilt 0.36-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 1,312 kB
  • sloc: sh: 3,063; makefile: 95; perl: 42
file content (55 lines) | stat: -rwxr-xr-x 1,118 bytes parent folder | download | duplicates (3)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/bin/sh
#
# Copyright (c) Josef "Jeff" Sipek, 2007-2013
#

USAGE="[-P <patch> ] <patch_file>"
if [ -z "$GUILT_VERSION" ]; then
	echo "Invoking `basename "$0"` directly is no longer supported." >&2
	exit 1
fi

_main() {

case "$1" in
	-P)
		newname="$2"
		oldname="$3"
		;;
	*)
		newname=`basename "$1"`
		oldname="$1"
		;;
esac

if [ $# -lt 1 ] || [ $# -gt 3 ] || [ -z "$newname" ] || [ -z "$oldname" ]; then
	usage
fi

# make sure that there are no unapplied changes
if ! must_commit_first; then
	die "Uncommited changes detected. Refresh first."
fi

if [ ! -e "$oldname" ]; then
	die "Specified file does not exist."
fi

if [ -e "$GUILT_DIR/$branch/$newname" ]; then
	die "Already tracking a patch under that name."
fi

if ! valid_patchname "$newname"; then
	die "The specified patch name is invalid according to git-check-ref-format(1)."
fi

# create any directories as needed
mkdir_dir=`dirname "$GUILT_DIR/$branch/$newname"`
[ "$mkdir_dir" != "$GUILT_DIR/$branch" ] && mkdir -p "$mkdir_dir"

cp "$oldname" "$GUILT_DIR/$branch/$newname"

# insert the patch into the series file
series_insert_patch "$newname"

}