]> git.donarmstrong.com Git - bin.git/blobdiff - update_org_files
Abstract out GIT_HOST
[bin.git] / update_org_files
index b11a6618df265009991b0d59b789a539185c73ae..0e0f6ab27e11af1412c0b170fac3e2c17ea2adaf 100755 (executable)
@@ -1,12 +1,17 @@
 #!/bin/bash
 
-cd ~;
+ORG_GREP='-e .org$ -e .org_archive$ -e .org_done$'
 
-for a in $(mr list |grep 'list:'|grep -v 'finished'|awk -F'list: ' '{print $2}' 2>/dev/null); do 
-    (cd "$a";
-    if mr --no-recurse status |grep '^ M'|grep -q '.org$'; then
-          git commit -m'update org files' $(mr --no-recurse status |grep '^ M'|grep '.org$'|sed 's/^ M//g');
-          git push;
-       fi; 
-    );
-done;
+if [ "x$1" == "xdoit" ]; then
+    if git status --porcelain -z | grep -z '^ M' | grep -zq $ORG_GREP; then
+        git status --porcelain -z | grep -z '^ M' | grep -z $ORG_GREP | \
+            sed -z 's/^ M[[:space:]]*//g' | \
+            xargs -0 git commit -m'update org files'
+        git push;
+    fi;
+    git pull;
+else
+    emacsclient -n -e '(org-save-all-org-buffers)' >/dev/null 2>&1
+    mr -d ~/projects/org-notes -j5 run update_org_files doit;
+    mr -d ~/org-mode -j5 run update_org_files doit;
+fi;