summaryrefslogtreecommitdiff
path: root/pre-apt.d/50uncommitted-changes
blob: eb3a64dde280e718d145e12ed2b26480c7a6d03e (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_OPTION -m "saving uncommitted changes in /etc prior to apt 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