ORG_GREP='-e .org$ -e .org_archive$ -e .org_done$'
-cd ~;
-
-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$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;