summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorL. Alberto Giménez <agimenez@sysvalve.es>2012-11-18 23:51:20 +0100
committerL. Alberto Giménez <agimenez@sysvalve.es>2012-11-18 23:51:20 +0100
commit5f6c02e23aa11e8840bbe5c59c9e3ff670e81397 (patch)
treecc0c9bae683a2533a75205bd9ed289a99c8b0089
parentcfd2efaab79f8791fc653abf4bd88eaf7a459dad (diff)
Add support for auto-pushing after a commit
A new variable is introduced that will cause etckeeper to push to a configuration-defined remote.
-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=""