summaryrefslogtreecommitdiffstats
path: root/krebs/5pkgs/simple/github-hosts-sync/src/hosts-sync
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2019-05-29 09:07:03 +0200
committerlassulus <lassulus@lassul.us>2019-05-29 09:07:03 +0200
commit680d5b4cff45fa3de1adb50af576f796ae3762fa (patch)
tree647c746bb175c1613c3147a1e5985317c361e786 /krebs/5pkgs/simple/github-hosts-sync/src/hosts-sync
parent08ddffd7812f9ec42f9946dd2c4f8cc4eb7b656c (diff)
parent06f8c8986b01bd805191fa452c09369cdafb0777 (diff)
Merge remote-tracking branch 'ni/master'
Diffstat (limited to 'krebs/5pkgs/simple/github-hosts-sync/src/hosts-sync')
-rwxr-xr-xkrebs/5pkgs/simple/github-hosts-sync/src/hosts-sync33
1 files changed, 33 insertions, 0 deletions
diff --git a/krebs/5pkgs/simple/github-hosts-sync/src/hosts-sync b/krebs/5pkgs/simple/github-hosts-sync/src/hosts-sync
new file mode 100755
index 00000000..a8973e72
--- /dev/null
+++ b/krebs/5pkgs/simple/github-hosts-sync/src/hosts-sync
@@ -0,0 +1,33 @@
+#! /bin/sh
+set -efu
+exec >&2
+
+hosts_srcdir=$GITHUB_HOST_SYNC_SRCDIR
+hosts_worktree=${GITHUB_HOST_SYNC_WORKTREE-/tmp/hosts}
+hosts_url=${GITHUB_HOST_SYNC_URL-git@github.com:krebs/hosts.git}
+user_mail=${GITHUB_HOST_SYNC_USER_MAIL-$LOGNAME@$(hostname)}
+user_name=${GITHUB_HOST_SYNC_USER_NAME-$LOGNAME}
+
+test -d "$hosts_worktree" || git clone "$hosts_url" "$hosts_worktree"
+
+cd "$hosts_worktree"
+
+git pull
+
+rsync \
+ --chmod D755,F644 \
+ --delete-excluded \
+ --filter 'protect .git' \
+ --recursive \
+ --verbose \
+ "$hosts_srcdir/" \
+ .
+
+git add .
+
+if test -n "$(git status --porcelain)"; then
+ git config user.email "$user_mail"
+ git config user.name "$user_name"
+ git commit -m bump
+ git push
+fi