fix git diverged
All checks were successful
All checks were successful
This commit is contained in:
@@ -46,11 +46,20 @@ _parse_git_status() {
|
||||
# Single git status call
|
||||
status_output="$(git status --porcelain=v1 2>/dev/null)"
|
||||
|
||||
# Get ahead/behind counts in one call
|
||||
# Get ahead/behind counts - use more reliable method
|
||||
if git rev-parse --abbrev-ref "@{upstream}" >/dev/null 2>&1; then
|
||||
# Use separate commands for more reliable parsing
|
||||
GIT_STATUS[ahead]="$(git rev-list --count HEAD ^"@{upstream}" 2>/dev/null || echo 0)"
|
||||
GIT_STATUS[behind]="$(git rev-list --count "@{upstream}" ^HEAD 2>/dev/null || echo 0)"
|
||||
|
||||
# Fallback to original method if separate commands fail
|
||||
if [[ "${GIT_STATUS[ahead]}" == "0" && "${GIT_STATUS[behind]}" == "0" ]]; then
|
||||
ahead_behind="$(git rev-list --left-right --count "@{upstream}"...HEAD 2>/dev/null)"
|
||||
GIT_STATUS[behind]="${ahead_behind% *}"
|
||||
GIT_STATUS[ahead]="${ahead_behind#* }"
|
||||
if [[ "$ahead_behind" =~ ^([0-9]+)[[:space:]]+([0-9]+)$ ]]; then
|
||||
GIT_STATUS[behind]="${BASH_REMATCH[1]}"
|
||||
GIT_STATUS[ahead]="${BASH_REMATCH[2]}"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
GIT_STATUS[behind]=0
|
||||
GIT_STATUS[ahead]=0
|
||||
|
||||
@@ -2,7 +2,7 @@ cdfe049ec07f02a1893cda29c13085d06709e09a30b0c2e1111585278315f03139d61080c883cb3f
|
||||
f363606f41a2c2c8f1cc44110c64fe23b1c8feb4c788ee006222db0f5c7a3adeac2b0948626b313adc985e9b8d303a0b9ce1c5ba42746810accb54efddcd4b84 ./hyperterm.sh
|
||||
b760a908a3f6222b974abc1f7464bde0f5427f120f1e7ef1c6d97ae61769e552ef3b5cb88e193e955da72a592f07eadb812413dd50a691cd3dbb33e3da581ea6 ./core/update.sh
|
||||
1cfba599047d84a17ff92b695ebf527a505a30acc9ec21a2b9f410a7ea6dde4b23b5cf62e557d82f2fe9a8980649942424b879ca53baae4d4cb3057681baa7b6 ./core/colors.sh
|
||||
e3bacd715a327802c18de9b3c9f958f704eec4055295433403df284130e23f956f330bdf737c524bec3a89ef67a44ff0ab5dec40ffad5363aced3396bff54283 ./core/git.sh
|
||||
de28ff57d5d8d0f49c0b36de7ef1885a0dd5599fafb55181e251aed1fd6fd2698496347f7e43c61d37245d0d2a1e47a541bbc53997811f19ccf42fdc8705245b ./core/git.sh
|
||||
f3e00b2aa8ab9f3ab44570adaa2520408ed66fd00f551654d60b64a4be3546ec781b7efa39bcd774937e654b6ffb4c7af3f21eeb36caf9c01f82f85cf28e2b4d ./core/languages.sh
|
||||
b205de01644af11ef1dc96230e4bf12087482e26b7c0472fb6a153bf94662e4dfc01b2da0c3ca0da4af93bce05faf0e33be5422fbee85e6b69ca1cccbe194cff ./core/autodep.sh
|
||||
7447d3e167ab207d3ef4218e201a06bf5a3fc23281639f16f7f405f1d66b73923845d450fdb0a94672757866a9da0324f728564a1b61b2ed1678fe576eb565cf ./core/autocomplete.sh
|
||||
|
||||
Reference in New Issue
Block a user