]> git.donarmstrong.com Git - bin.git/blobdiff - update_org_files
add reset usb bus command
[bin.git] / update_org_files
index 3c71d1558e16c16701fa37901a6e9cf5820df39c..d93a40bc0af098b84b43d3ec914244da19a4660f 100755 (executable)
@@ -2,17 +2,24 @@
 
 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 pull --rebase;
+        git push;
+    else
+        git pull --rebase;
+    fi;
+else
+    if [ "x$NO_SAVE_ORG_BUFFERS" == "x" ]; then
+        emacsclient -n -e '(org-save-all-org-buffers)' >/dev/null 2>&1
+    fi;
+    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;