]> git.donarmstrong.com Git - bin.git/blobdiff - update_org_files
fix update_org_files to work in parallel
[bin.git] / update_org_files
index 3c71d1558e16c16701fa37901a6e9cf5820df39c..b50ff08f7f78d2f44fe298cfbbb401ac0b64f5b9 100755 (executable)
@@ -2,17 +2,16 @@
 
 ORG_GREP='-e .org$ -e .org_archive$ -e .org_done$'
 
-cd ~;
+if [ "x$1" == "xdoit" ]; then
+    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 [ "$2" != "commit" ]; then
+            git push;
+        fi;
+    fi; 
+else
+    emacsclient -n -e '(org-save-all-org-buffers)' >/dev/null 2>&1
+    mr -d ~ -j5 run update_org_files doit;
+fi;
 
-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;