summaryrefslogtreecommitdiff
path: root/pre-install.d/50uncommitted-changes
blob: f8811ad09cb792b6df55941babca47bf0e4dc013 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh
set -e
if [ -d .git ] && ! LANG=C git-status 2>&1 | grep -q "working directory clean"; then
	. /usr/share/debconf/confmodule
	db_capb escape
	db_title etckeeper

	db_reset etckeeper/unclean || true
	db_subst etckeeper/unclean STATUS $(git-status | debconf-escape -e) || true
	db_input critical etckeeper/unclean || true
	db_go || true
	db_get etckeeper/unclean
	if [ "$RET" = true ]; then
		git add .
		if ! git commit $GIT_COMMIT_OPTIONS -m "saving uncommitted changes in /etc prior to $HIGHLEVEL_PACKAGE_MANAGER run"; then
			db_input critical etckeeper/commit_failed || true
			db_go || true
			db_reset etckeeper/commit_failed || true
		fi
	fi
	db_reset etckeeper/unclean || true
fi