X-Git-Url: https://git.donarmstrong.com/?p=bin.git;a=blobdiff_plain;f=update_org_files;h=d93a40bc0af098b84b43d3ec914244da19a4660f;hp=3c71d1558e16c16701fa37901a6e9cf5820df39c;hb=HEAD;hpb=96c6760a82404074d81d044ecfd691b154dca092 diff --git a/update_org_files b/update_org_files index 3c71d15..d93a40b 100755 --- a/update_org_files +++ b/update_org_files @@ -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;