Skip to content

Commit 1416af0

Browse files
committed
fix: use tracker.error for git init/extension failures (#2117)
Git init failure and extension install failure were reported as tracker.complete (showing green) even on error. Now track a git_has_error flag and call tracker.error when any step fails, so the UI correctly reflects the failure state.
1 parent d81de90 commit 1416af0

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

src/specify_cli/__init__.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1189,6 +1189,7 @@ def init(
11891189
if not no_git:
11901190
tracker.start("git")
11911191
git_messages = []
1192+
git_has_error = False
11921193
# Step 1: Initialize git repo if needed
11931194
if is_git_repo(project_path):
11941195
git_messages.append("existing repo detected")
@@ -1197,6 +1198,7 @@ def init(
11971198
if success:
11981199
git_messages.append("initialized")
11991200
else:
1201+
git_has_error = True
12001202
# Sanitize multi-line error_msg to single line for tracker
12011203
if error_msg:
12021204
sanitized = error_msg.replace('\n', ' ').strip()
@@ -1219,10 +1221,16 @@ def init(
12191221
)
12201222
git_messages.append("extension installed")
12211223
else:
1224+
git_has_error = True
12221225
git_messages.append("bundled extension not found")
12231226
except Exception as ext_err:
1227+
git_has_error = True
12241228
git_messages.append(f"extension install failed: {ext_err}")
1225-
tracker.complete("git", "; ".join(git_messages))
1229+
summary = "; ".join(git_messages)
1230+
if git_has_error:
1231+
tracker.error("git", summary)
1232+
else:
1233+
tracker.complete("git", summary)
12261234
else:
12271235
tracker.skip("git", "--no-git flag")
12281236

0 commit comments

Comments
 (0)