X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=update_org_files;h=668f7e95078ab71d8d366f51de2c04fdf66933b2;hb=0807353e7ba81c381cff78b6165f6c725bbcd2ec;hp=b11a6618df265009991b0d59b789a539185c73ae;hpb=5aadefe81fdba3608e61038fc2baaf74f4fdbfc7;p=bin.git diff --git a/update_org_files b/update_org_files index b11a661..668f7e9 100755 --- a/update_org_files +++ b/update_org_files @@ -1,12 +1,21 @@ #!/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; +COMMIT_MESSAGE="${1:-update org files}" + +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;