diff options
| -rwxr-xr-x | bin/init/sync.sh | 8 | ||||
| -rwxr-xr-x | bin/wakeup.sh | 2 | ||||
| -rw-r--r-- | zsh/zshrc | 8 |
3 files changed, 12 insertions, 6 deletions
diff --git a/bin/init/sync.sh b/bin/init/sync.sh index 351bb74..413256a 100755 --- a/bin/init/sync.sh +++ b/bin/init/sync.sh | |||
| @@ -3,7 +3,11 @@ | |||
| 3 | # If git is working in other process, then don't sync again | 3 | # If git is working in other process, then don't sync again |
| 4 | pidof git >/dev/null && exit 0 | 4 | pidof git >/dev/null && exit 0 |
| 5 | 5 | ||
| 6 | # my repo | 6 | # Print information about ~/.wakeup |
| 7 | echo 'latest: ' $(date -d @`stat -c %Y ~/.wakeup` --iso-8601=minutes) | ||
| 8 | echo 'wakeup at: ' $(cat ~/.wakeup | xargs -i date -d @{} --iso-8601=minutes) | ||
| 9 | |||
| 10 | # Sync a repo | ||
| 7 | sync() { | 11 | sync() { |
| 8 | cd "$1" || return | 12 | cd "$1" || return |
| 9 | [ -z "$(git remote -v)" ] && return | 13 | [ -z "$(git remote -v)" ] && return |
| @@ -13,6 +17,7 @@ sync() { | |||
| 13 | echo "Has trouble when syncing $(pwd)" | 17 | echo "Has trouble when syncing $(pwd)" |
| 14 | } | 18 | } |
| 15 | 19 | ||
| 20 | # Read file ~/.repos, and sync | ||
| 16 | sed /^#/d ~/.repos | while read -r repo; do | 21 | sed /^#/d ~/.repos | while read -r repo; do |
| 17 | eval "sync $repo &" | 22 | eval "sync $repo &" |
| 18 | done | 23 | done |
| @@ -28,5 +33,6 @@ done | |||
| 28 | 33 | ||
| 29 | touch ~/.wakeup | 34 | touch ~/.wakeup |
| 30 | 35 | ||
| 36 | |||
| 31 | # others repo | 37 | # others repo |
| 32 | #check_upstream ~/git/tig || echo in `pwd` >/dev/tty & | 38 | #check_upstream ~/git/tig || echo in `pwd` >/dev/tty & |
diff --git a/bin/wakeup.sh b/bin/wakeup.sh index 4ceee6a..083499f 100755 --- a/bin/wakeup.sh +++ b/bin/wakeup.sh | |||
| @@ -1,3 +1,3 @@ | |||
| 1 | #! /bin/bash | 1 | #! /bin/bash |
| 2 | 2 | ||
| 3 | date --iso-8601=minutes >~/.wakeup | 3 | date +%s >~/.wakeup |
| @@ -47,9 +47,9 @@ function _get_context() { | |||
| 47 | fi | 47 | fi |
| 48 | } | 48 | } |
| 49 | 49 | ||
| 50 | function _sync_after_wakeup() { | 50 | function _need_sync_after_wakeup() { |
| 51 | latest=$(date -d @`stat -c %Y ~/.wakeup` --iso-8601=minutes) | 51 | latest=$(date -d @`stat -c %Y ~/.wakeup` +%s) |
| 52 | test ! "$latest" = "$(cat ~/.wakeup)" | 52 | test "$latest" -ge "$(cat ~/.wakeup)" |
| 53 | } | 53 | } |
| 54 | 54 | ||
| 55 | autoload -Uz add-zsh-hook | 55 | autoload -Uz add-zsh-hook |
| @@ -71,7 +71,7 @@ function precmd() { | |||
| 71 | # Show context and git status of tracking repos at right | 71 | # Show context and git status of tracking repos at right |
| 72 | UNSYNC_REPOS=$(NUM=$($SETTING_DIR/bin/git/check-repos.sh -n); (( $NUM != 0 )) && echo $NUM) | 72 | UNSYNC_REPOS=$(NUM=$($SETTING_DIR/bin/git/check-repos.sh -n); (( $NUM != 0 )) && echo $NUM) |
| 73 | _get_context | 73 | _get_context |
| 74 | NEED_SYNC=$(_sync_after_wakeup || echo S) | 74 | NEED_SYNC=$(_need_sync_after_wakeup || echo S) |
| 75 | RPROMPT="%B%K{blue}%F{yellow}${CONTEXT:+ $CONTEXT }%f%k%K{red}%F{black}${UNSYNC_REPOS}${NEED_SYNC}%f%k%b" | 75 | RPROMPT="%B%K{blue}%F{yellow}${CONTEXT:+ $CONTEXT }%f%k%K{red}%F{black}${UNSYNC_REPOS}${NEED_SYNC}%f%k%b" |
| 76 | 76 | ||
| 77 | 77 | ||