summaryrefslogtreecommitdiff
path: root/pbs-package-new
blob: ce4190c8b4e44515b2bff2e186a15993081dcd57 (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
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash -euE

. libremessages

cmd=${0##*/}
usage() {
	echo "Usage: $cmd [OPTIONS] REPO/PACKAGE"
	echo 'Fetches and merges changes from an upstream package'
	echo ''
	echo 'The repository and refspec that are merged are controlled by the'
	echo 'file `pbstrack`.'
	echo ''
	echo 'Options:'
	echo '  -h            Show this message'
}

main() {
	while getopts 'h' arg; do
		case $arg in
			h) usage; return 0;;
			*) usage; return 1;;
		esac
	done
	shift $(($OPTIND - 1))
	if [[ $# > 0 ]]; then
		usage
		return 1
	fi

	local dest=$1
	local package="${dest##*/}"

	git submodule add ./ "${dest}"
	cd "${dest}"
	git checkout --orphan "packages/${package}"
}

main "$@"