From ed5ca83e98679f5f3ce50392320b427a4ac11e02 Mon Sep 17 00:00:00 2001
From: Christian Heller <c.heller@plomlompom.de>
Date: Mon, 2 Jan 2017 23:30:42 +0100
Subject: [PATCH] Extend remote git management recipe.

---
 README.md | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index 822c08d..49ad8b1 100644
--- a/README.md
+++ b/README.md
@@ -49,10 +49,18 @@ called `blog`:
     git init --bare blog.git
     cat << EOF > blog.git/hooks/post-update
     #!/bin/sh
-    BLOGDIR=~/blog
-    GIT_WORK_TREE=\$BLOGDIR git checkout -f
-    cd \$BLOGDIR
+    blog_dir=~/blog
+    export GIT_DIR=\$(pwd)
+    export GIT_WORK_TREE="\$blog_dir"
+    git checkout -f
+    cd "\$GIT_WORK_TREE"
     redo
+    git add metadata/author metadata/url metadata/title metadata/*.tmpl metadata/*.automatic_metadata metadata/automatic_metadata
+    status=\$(git status -s)
+    n_updates=\$(printf "$status" | grep -vE '^\?\?' | wc -l)
+    if [ "\$n_updates" -gt 0 ]; then
+      git commit -a -m 'Update metadata'
+    fi
     EOF
     chmod a+x blog.git/hooks/post-update
 
@@ -81,6 +89,11 @@ replace the username `user` and the server name `example.org`):
     git commit -m 'set up blog metadata'
     git push origin master
 
+If successful, the git hook will furthermore commit some ~/blog/metadata/ files
+generated by redo, that can be pulled into the client-side local repository:
+
+    git pull origin master
+
 bugs and peculiarities
 ----------------------
 
-- 
2.30.2