X-Git-Url: https://git.donarmstrong.com/?p=bin.git;a=blobdiff_plain;f=update_org_files;h=d93a40bc0af098b84b43d3ec914244da19a4660f;hp=b50ff08f7f78d2f44fe298cfbbb401ac0b64f5b9;hb=HEAD;hpb=d31402b592404433fa6578f024b9d2d3844b5fe8 diff --git a/update_org_files b/update_org_files index b50ff08..d93a40b 100755 --- a/update_org_files +++ b/update_org_files @@ -2,16 +2,24 @@ ORG_GREP='-e .org$ -e .org_archive$ -e .org_done$' -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; +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 pull --rebase; + git push; + else + git pull --rebase; + fi; else - emacsclient -n -e '(org-save-all-org-buffers)' >/dev/null 2>&1 - mr -d ~ -j5 run update_org_files doit; + 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; - -