diff options
| author | typebrook <typebrook@gmail.com> | 2020-04-11 10:16:55 +0800 |
|---|---|---|
| committer | typebrook <typebrook@gmail.com> | 2020-04-11 12:04:20 +0800 |
| commit | 6acdd86d1fede147dd93fff2f9ad86a5f2f2337c (patch) | |
| tree | fc0bf2d1e6de7840cb86353518917b0b93244b5a | |
| parent | 0ce82ec3ec16481d5b58a41f5349d1e29d0145fb (diff) | |
Refactor the way of checking repo status
| -rwxr-xr-x | gist | 5 |
1 files changed, 4 insertions, 1 deletions
| @@ -267,10 +267,13 @@ _check_repo_status() { | |||
| 267 | fi | 267 | fi |
| 268 | else | 268 | else |
| 269 | cd "$1" || exit 1 | 269 | cd "$1" || exit 1 |
| 270 | if [[ -n $(git status --short) || $(git branch | sed -n '/\* / s///p') != 'master' ]] &>/dev/null; then | 270 | # git status is not clean or working on non-master branch |
| 271 | if [[ -n $(git status --short) || $(cat .git/HEAD) != 'ref: refs/heads/master' ]] &>/dev/null; then | ||
| 271 | echo "\e[36m[working]\e[0m" | 272 | echo "\e[36m[working]\e[0m" |
| 272 | else | 273 | else |
| 274 | # files contents are not the same with the last time called GIST API, so warn user to call 'gist fetch' | ||
| 273 | [[ $(_blob_code "$1") != "$2" ]] 2>/dev/null && local status="\e[31m[outdated]\e[0m" | 275 | [[ $(_blob_code "$1") != "$2" ]] 2>/dev/null && local status="\e[31m[outdated]\e[0m" |
| 276 | # current HEAD is newer than remote, warn user to call 'git push' | ||
| 274 | [[ -n $(git cherry) ]] 2>/dev/null && local status="\e[31m[ahead]\e[0m" | 277 | [[ -n $(git cherry) ]] 2>/dev/null && local status="\e[31m[ahead]\e[0m" |
| 275 | echo "$status" | 278 | echo "$status" |
| 276 | fi | 279 | fi |