summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcommit.d/99git-push10
-rwxr-xr-xetckeeper4
-rw-r--r--etckeeper.conf3
3 files changed, 17 insertions, 0 deletions
diff --git a/commit.d/99git-push b/commit.d/99git-push
new file mode 100755
index 0000000..0c3cdd1
--- /dev/null
+++ b/commit.d/99git-push
@@ -0,0 +1,10 @@
+#!/bin/sh
+set -e
+
+if [ "$VCS" = git ] && [ -d .git ] && [ -n "$PUSH_REMOTE" ]; then
+ if git config --get remote.$PUSH_REMOTE.url; then
+ git push $PUSH_REMOTE master
+ else
+ echo "etckeeper warning: Configured remote '$PUSH_REMOTE' is unknown to git"
+ fi
+fi
diff --git a/etckeeper b/etckeeper
index aa5cf69..4bb2531 100755
--- a/etckeeper
+++ b/etckeeper
@@ -54,6 +54,10 @@ if [ ! -z "$AVOID_SPECIAL_FILE_WARNING" ]; then
export AVOID_SPECIAL_FILE_WARNING
fi
+if [ ! -z "$PUSH_REMOTE" ]; then
+ export PUSH_REMOTE
+fi
+
if [ -z "$1" ]; then
usage
elif [ "x$1" = "x-h" ] || [ "x$1" = "x--help" ]; then
diff --git a/etckeeper.conf b/etckeeper.conf
index 4d6dd8a..ccd7684 100644
--- a/etckeeper.conf
+++ b/etckeeper.conf
@@ -36,3 +36,6 @@ HIGHLEVEL_PACKAGE_MANAGER=apt
# The low-level package manager that's being used.
# (dpkg, rpm, pacman-g2, etc)
LOWLEVEL_PACKAGE_MANAGER=dpkg
+
+# Upstream remote
+PUSH_REMOTE=""