X-Git-Url: https://git.danix.xyz/?p=bash-notes.git;a=blobdiff_plain;f=SOURCE%2FCORE%2Fgit.sh;h=8edfc1f519a7b7e544f8486622147b06fa82f119;hp=d37fe7251d54b8222a8c841483ba2238dc4c3669;hb=cf6d89bcf906ba72560847cb804646b9cd8d99b4;hpb=b1e2a0183a9b5b587968f2ab77ac5952331d1972 diff --git a/SOURCE/CORE/git.sh b/SOURCE/CORE/git.sh index d37fe72..8edfc1f 100644 --- a/SOURCE/CORE/git.sh +++ b/SOURCE/CORE/git.sh @@ -13,9 +13,21 @@ is_git_repo() { # sync local repository to remote gitsync() { - echo "Syncing notes with git on remote \"$GITREMOTE\"" - cd $BASEDIR - $GIT pull + NOWSYNC=$(date +%s) + # LASTSYNC is the last time we synced to the remote, or 0 if it's the first time. + LASTSYNC=$($JQ -r '.git["lastpull"] // 0' "$DB") + [ $PLAIN == false ] && echo "Syncing notes with git on remote \"$GITREMOTE\"" + SYNCDIFF=$(( ${NOWSYNC} - ${LASTSYNC} )) + if (( $SYNCDIFF > $GITSYNCDELAY )); then + #more than our delay time has passed. We can sync again. + $JQ --arg n "$NOWSYNC" '.git["lastpull"] = $n' "$DB" > $TMPDB + mv $TMPDB $DB + cd $BASEDIR + $GIT pull + else + # Last synced less than $GITSYNCDELAY seconds ago. We shall wait + [ $PLAIN == false ] && echo "Last synced less than $GITSYNCDELAY seconds ago. We shall wait" + fi } # check for USEGIT and subsequent variables