X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=update_org_files;h=d93a40bc0af098b84b43d3ec914244da19a4660f;hb=a86a71b0c965c73603ae84b266c12838c1289c54;hp=648646ef835227447f3db4f9e13c5bbb3e9e98f2;hpb=e5fe43a9dd4ec4be74238f65c2a5f644a1c9da27;p=bin.git diff --git a/update_org_files b/update_org_files index 648646e..d93a40b 100755 --- a/update_org_files +++ b/update_org_files @@ -1,10 +1,25 @@ #!/bin/bash -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; \ No newline at end of file +ORG_GREP='-e .org$ -e .org_archive$ -e .org_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 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;