]> git.donarmstrong.com Git - bin.git/blobdiff - update_org_files
add mutt alias which executes neomutt if that exists
[bin.git] / update_org_files
index 3c71d1558e16c16701fa37901a6e9cf5820df39c..668f7e95078ab71d8d366f51de2c04fdf66933b2 100755 (executable)
@@ -2,17 +2,20 @@
 
 ORG_GREP='-e .org$ -e .org_archive$ -e .org_done$'
 
-cd ~;
+COMMIT_MESSAGE="${1:-update org files}"
 
-emacsclient -n -e '(org-save-all-org-buffers)' >/dev/null 2>&1
-
-for a in $(mr list |grep 'list:'|grep -v 'finished'|awk -F'list: ' '{print $2}' 2>/dev/null); do 
-    (cd "$a";
-    if git status --porcelain|grep '^ M'|grep -q $ORG_GREP; then
-          git commit -m'update org files' $(mr --no-recurse status |grep '^ M'|grep $ORG_GREP|sed 's/^ M//g');
-          if [ "$1" != "commit" ]; then
-              git push;
-          fi;
-       fi; 
-    );
-done;
+if [ "x$UPDATE_ORG_REALLY_DO_IT" == "xyesdoit" ]; 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"$COMMIT_MESSAGE"
+        git push;
+    fi;
+    git pull;
+else
+    emacsclient -n -e '(org-save-all-org-buffers)' >/dev/null 2>&1
+    UPDATE_ORG_REALLY_DO_IT="yesdoit" mr -d ~/projects/org-notes -j5 run \
+                           update_org_files "$COMMIT_MESSAGE"
+    UPDATE_ORG_REALLY_DO_IT="yesdoit" mr -d ~/org-mode -j5 run \
+                           update_org_files "$COMMIT_MESSAGE";
+fi;