fix(assistant): 判定是不是存取庫交給 git 自己回答
原本看 .git 在不在。這台機器的工作目錄底下剛好有一個目錄的 .git 只剩 一個空的 info/,git 一句「not a git repository」——而掃描把它算成一個 存取庫,還印成「沒有 origin」。那個說法讀起來像「這個存取庫還沒接遠端」, 不像「這裡根本不是存取庫」,兩件事的處置完全不同。 改成由 git 回答,並核對它認定的頂層就是那個目錄:只問「是不是在工作樹裡」 不夠,git 會從那裡往上找,.git 壞掉時它會找到上一層的存取庫然後答「是」。 兩邊都解成實體路徑再比,掃描起點帶符號連結那一段時字串才對得上。 多一個 not_a_repo= 判定行與收尾計數,執行那一支照樣原樣轉出。 存取庫數從 19 個變 18 個。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+1
-1
@@ -231,7 +231,7 @@ else
|
||||
esac
|
||||
# 掃描那一支的逐項判定行被導進暫存檔,所以外面看不到。原樣轉出來:被拒的那幾個存取庫是
|
||||
# 這一輪「掃到但沒交出去」的名單,那份名單不能只留在暫存檔裡。
|
||||
sed -n 's/^\(rejected=\|unnamed=\|excluded=\|skipped_link=\)/repo_scan_note=\1/p' \
|
||||
sed -n 's/^\(rejected=\|unnamed=\|excluded=\|skipped_link=\|not_a_repo=\)/repo_scan_note=\1/p' \
|
||||
"$TMPD/scan.out" "$TMPD/scan.err" 2>/dev/null
|
||||
fi
|
||||
N_REPOS=$(awk 'END{print NR+0}' "$REPOS")
|
||||
|
||||
Reference in New Issue
Block a user