summaryrefslogtreecommitdiff
path: root/home-manager/resources/activation-scripts/clone-repos.sh
blob: adf8fd7fffdcaaf171b04030c6f05bdfa4de74ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/sh

clonemissing() {
	# pull and return if already existing
	if [ -d "$2"/.git ]; then
		run cd $VERBOSE_ARG "$2"
		run git pull $VERBOSE_ARG || echo "$2: failed to pull from remote"
		return
	fi

	# clone $1 to $2
	run mkdir -p $VERBOSE_ARG "$2"
	run git clone $VERBOSE_ARG "$1" "$2"

	# link files to $3
	[ -z "$3" ] && return
	run mkdir -p $VERBOSE_ARG "$3"
	run ln -sf $VERBOSE_ARG "$2"/* "$3"
}