Skip to content

Commit 2e027aa

Browse files
sjarmakclaude
andcommitted
fix: eliminate cp -a bottleneck in artifact verifier for large repos
Apply diffs directly to /repo_full instead of copying to /tmp/verify_repo. Container is ephemeral so pristine copy preservation is unnecessary. Eliminates verifier timeout for large repos (k8s 1.5GB, flipt 500MB). Validated: k8s baseline 0.70 (verifier 623s), django baseline 0.67 (1.3s), MCP django 0.08 (259s). All show "Applying diffs to /repo_full (in-place, zero-copy)" in verifier output. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 891644f commit 2e027aa

File tree

170 files changed

+1366
-1581
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

170 files changed

+1366
-1581
lines changed

benchmarks/ccb_build/camel-fix-protocol-feat-001/tests/answer_json_verifier_lib.sh

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# 1. Validates /workspace/answer.json exists and is valid JSON
66
# 2. Extracts analysis.reasoning → $ANALYSIS_TEXT_FILE (for keyword/pattern scoring)
77
# 3. Extracts analysis.files_examined → $ANALYSIS_FILES_FILE (for IR metrics)
8-
# 4. If changes[] has diffs: copies /repo_full → /tmp/verify_repo, applies all diffs
8+
# 4. If changes[] has diffs: applies diffs directly to /repo_full (zero-copy, container is ephemeral)
99
# 5. Exports VERIFY_REPO, ARTIFACT_ONLY, ANALYSIS_TEXT_FILE, etc.
1010
#
1111
# For non-artifact-only runs, this script is a no-op that sets safe defaults.
@@ -201,26 +201,25 @@ if analysis:
201201
json.dump(fl_result, f, indent=2)
202202
print(f"[answer_json_verifier] Generated fault_localization_result.json")
203203
204-
# ── Apply diffs to verify_repo (for code-change verification) ─────────────
204+
# ── Apply diffs directly to /repo_full (zero-copy) ───────────────────────
205205
if not changes:
206206
sys.exit(0)
207207
208-
# We have diffs to apply — need /repo_full
209-
verify_repo = "/tmp/verify_repo"
208+
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
210209
repo_full = "/repo_full"
210+
verify_repo = repo_full
211211
212212
if not os.path.isdir(repo_full):
213213
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
214214
with open("/tmp/.answer_json_no_changes", "w") as f:
215215
f.write("1")
216216
sys.exit(0)
217217
218-
# Copy /repo_full to /tmp/verify_repo
219-
print(f"[answer_json_verifier] Copying {repo_full} -> {verify_repo}...")
220-
subprocess.run(["rm", "-rf", verify_repo], check=True)
221-
subprocess.run(["cp", "-a", repo_full, verify_repo], check=True)
218+
# Ensure verifier (root) can write to repo_full
219+
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
220+
print(f"[answer_json_verifier] Applying diffs to {repo_full} (in-place, zero-copy)...")
222221
subprocess.run(
223-
["git", "config", "--global", "--add", "safe.directory", verify_repo],
222+
["git", "config", "--global", "--add", "safe.directory", repo_full],
224223
capture_output=True
225224
)
226225

benchmarks/ccb_build/cgen-deps-install-001/tests/answer_json_verifier_lib.sh

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# 1. Validates /workspace/answer.json exists and is valid JSON
66
# 2. Extracts analysis.reasoning → $ANALYSIS_TEXT_FILE (for keyword/pattern scoring)
77
# 3. Extracts analysis.files_examined → $ANALYSIS_FILES_FILE (for IR metrics)
8-
# 4. If changes[] has diffs: copies /repo_full → /tmp/verify_repo, applies all diffs
8+
# 4. If changes[] has diffs: applies diffs directly to /repo_full (zero-copy, container is ephemeral)
99
# 5. Exports VERIFY_REPO, ARTIFACT_ONLY, ANALYSIS_TEXT_FILE, etc.
1010
#
1111
# For non-artifact-only runs, this script is a no-op that sets safe defaults.
@@ -201,26 +201,25 @@ if analysis:
201201
json.dump(fl_result, f, indent=2)
202202
print(f"[answer_json_verifier] Generated fault_localization_result.json")
203203
204-
# ── Apply diffs to verify_repo (for code-change verification) ─────────────
204+
# ── Apply diffs directly to /repo_full (zero-copy) ───────────────────────
205205
if not changes:
206206
sys.exit(0)
207207
208-
# We have diffs to apply — need /repo_full
209-
verify_repo = "/tmp/verify_repo"
208+
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
210209
repo_full = "/repo_full"
210+
verify_repo = repo_full
211211
212212
if not os.path.isdir(repo_full):
213213
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
214214
with open("/tmp/.answer_json_no_changes", "w") as f:
215215
f.write("1")
216216
sys.exit(0)
217217
218-
# Copy /repo_full to /tmp/verify_repo
219-
print(f"[answer_json_verifier] Copying {repo_full} -> {verify_repo}...")
220-
subprocess.run(["rm", "-rf", verify_repo], check=True)
221-
subprocess.run(["cp", "-a", repo_full, verify_repo], check=True)
218+
# Ensure verifier (root) can write to repo_full
219+
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
220+
print(f"[answer_json_verifier] Applying diffs to {repo_full} (in-place, zero-copy)...")
222221
subprocess.run(
223-
["git", "config", "--global", "--add", "safe.directory", verify_repo],
222+
["git", "config", "--global", "--add", "safe.directory", repo_full],
224223
capture_output=True
225224
)
226225

benchmarks/ccb_build/codecoverage-deps-install-001/tests/answer_json_verifier_lib.sh

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# 1. Validates /workspace/answer.json exists and is valid JSON
66
# 2. Extracts analysis.reasoning → $ANALYSIS_TEXT_FILE (for keyword/pattern scoring)
77
# 3. Extracts analysis.files_examined → $ANALYSIS_FILES_FILE (for IR metrics)
8-
# 4. If changes[] has diffs: copies /repo_full → /tmp/verify_repo, applies all diffs
8+
# 4. If changes[] has diffs: applies diffs directly to /repo_full (zero-copy, container is ephemeral)
99
# 5. Exports VERIFY_REPO, ARTIFACT_ONLY, ANALYSIS_TEXT_FILE, etc.
1010
#
1111
# For non-artifact-only runs, this script is a no-op that sets safe defaults.
@@ -201,26 +201,25 @@ if analysis:
201201
json.dump(fl_result, f, indent=2)
202202
print(f"[answer_json_verifier] Generated fault_localization_result.json")
203203
204-
# ── Apply diffs to verify_repo (for code-change verification) ─────────────
204+
# ── Apply diffs directly to /repo_full (zero-copy) ───────────────────────
205205
if not changes:
206206
sys.exit(0)
207207
208-
# We have diffs to apply — need /repo_full
209-
verify_repo = "/tmp/verify_repo"
208+
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
210209
repo_full = "/repo_full"
210+
verify_repo = repo_full
211211
212212
if not os.path.isdir(repo_full):
213213
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
214214
with open("/tmp/.answer_json_no_changes", "w") as f:
215215
f.write("1")
216216
sys.exit(0)
217217
218-
# Copy /repo_full to /tmp/verify_repo
219-
print(f"[answer_json_verifier] Copying {repo_full} -> {verify_repo}...")
220-
subprocess.run(["rm", "-rf", verify_repo], check=True)
221-
subprocess.run(["cp", "-a", repo_full, verify_repo], check=True)
218+
# Ensure verifier (root) can write to repo_full
219+
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
220+
print(f"[answer_json_verifier] Applying diffs to {repo_full} (in-place, zero-copy)...")
222221
subprocess.run(
223-
["git", "config", "--global", "--add", "safe.directory", verify_repo],
222+
["git", "config", "--global", "--add", "safe.directory", repo_full],
224223
capture_output=True
225224
)
226225

benchmarks/ccb_build/django-dep-refactor-001/tests/answer_json_verifier_lib.sh

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# 1. Validates /workspace/answer.json exists and is valid JSON
66
# 2. Extracts analysis.reasoning → $ANALYSIS_TEXT_FILE (for keyword/pattern scoring)
77
# 3. Extracts analysis.files_examined → $ANALYSIS_FILES_FILE (for IR metrics)
8-
# 4. If changes[] has diffs: copies /repo_full → /tmp/verify_repo, applies all diffs
8+
# 4. If changes[] has diffs: applies diffs directly to /repo_full (zero-copy, container is ephemeral)
99
# 5. Exports VERIFY_REPO, ARTIFACT_ONLY, ANALYSIS_TEXT_FILE, etc.
1010
#
1111
# For non-artifact-only runs, this script is a no-op that sets safe defaults.
@@ -201,26 +201,25 @@ if analysis:
201201
json.dump(fl_result, f, indent=2)
202202
print(f"[answer_json_verifier] Generated fault_localization_result.json")
203203
204-
# ── Apply diffs to verify_repo (for code-change verification) ─────────────
204+
# ── Apply diffs directly to /repo_full (zero-copy) ───────────────────────
205205
if not changes:
206206
sys.exit(0)
207207
208-
# We have diffs to apply — need /repo_full
209-
verify_repo = "/tmp/verify_repo"
208+
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
210209
repo_full = "/repo_full"
210+
verify_repo = repo_full
211211
212212
if not os.path.isdir(repo_full):
213213
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
214214
with open("/tmp/.answer_json_no_changes", "w") as f:
215215
f.write("1")
216216
sys.exit(0)
217217
218-
# Copy /repo_full to /tmp/verify_repo
219-
print(f"[answer_json_verifier] Copying {repo_full} -> {verify_repo}...")
220-
subprocess.run(["rm", "-rf", verify_repo], check=True)
221-
subprocess.run(["cp", "-a", repo_full, verify_repo], check=True)
218+
# Ensure verifier (root) can write to repo_full
219+
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
220+
print(f"[answer_json_verifier] Applying diffs to {repo_full} (in-place, zero-copy)...")
222221
subprocess.run(
223-
["git", "config", "--global", "--add", "safe.directory", verify_repo],
222+
["git", "config", "--global", "--add", "safe.directory", repo_full],
224223
capture_output=True
225224
)
226225

benchmarks/ccb_build/dotenv-expand-deps-install-001/tests/answer_json_verifier_lib.sh

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# 1. Validates /workspace/answer.json exists and is valid JSON
66
# 2. Extracts analysis.reasoning → $ANALYSIS_TEXT_FILE (for keyword/pattern scoring)
77
# 3. Extracts analysis.files_examined → $ANALYSIS_FILES_FILE (for IR metrics)
8-
# 4. If changes[] has diffs: copies /repo_full → /tmp/verify_repo, applies all diffs
8+
# 4. If changes[] has diffs: applies diffs directly to /repo_full (zero-copy, container is ephemeral)
99
# 5. Exports VERIFY_REPO, ARTIFACT_ONLY, ANALYSIS_TEXT_FILE, etc.
1010
#
1111
# For non-artifact-only runs, this script is a no-op that sets safe defaults.
@@ -201,26 +201,25 @@ if analysis:
201201
json.dump(fl_result, f, indent=2)
202202
print(f"[answer_json_verifier] Generated fault_localization_result.json")
203203
204-
# ── Apply diffs to verify_repo (for code-change verification) ─────────────
204+
# ── Apply diffs directly to /repo_full (zero-copy) ───────────────────────
205205
if not changes:
206206
sys.exit(0)
207207
208-
# We have diffs to apply — need /repo_full
209-
verify_repo = "/tmp/verify_repo"
208+
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
210209
repo_full = "/repo_full"
210+
verify_repo = repo_full
211211
212212
if not os.path.isdir(repo_full):
213213
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
214214
with open("/tmp/.answer_json_no_changes", "w") as f:
215215
f.write("1")
216216
sys.exit(0)
217217
218-
# Copy /repo_full to /tmp/verify_repo
219-
print(f"[answer_json_verifier] Copying {repo_full} -> {verify_repo}...")
220-
subprocess.run(["rm", "-rf", verify_repo], check=True)
221-
subprocess.run(["cp", "-a", repo_full, verify_repo], check=True)
218+
# Ensure verifier (root) can write to repo_full
219+
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
220+
print(f"[answer_json_verifier] Applying diffs to {repo_full} (in-place, zero-copy)...")
222221
subprocess.run(
223-
["git", "config", "--global", "--add", "safe.directory", verify_repo],
222+
["git", "config", "--global", "--add", "safe.directory", repo_full],
224223
capture_output=True
225224
)
226225

benchmarks/ccb_build/dotnetkoans-deps-install-001/tests/answer_json_verifier_lib.sh

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# 1. Validates /workspace/answer.json exists and is valid JSON
66
# 2. Extracts analysis.reasoning → $ANALYSIS_TEXT_FILE (for keyword/pattern scoring)
77
# 3. Extracts analysis.files_examined → $ANALYSIS_FILES_FILE (for IR metrics)
8-
# 4. If changes[] has diffs: copies /repo_full → /tmp/verify_repo, applies all diffs
8+
# 4. If changes[] has diffs: applies diffs directly to /repo_full (zero-copy, container is ephemeral)
99
# 5. Exports VERIFY_REPO, ARTIFACT_ONLY, ANALYSIS_TEXT_FILE, etc.
1010
#
1111
# For non-artifact-only runs, this script is a no-op that sets safe defaults.
@@ -201,26 +201,25 @@ if analysis:
201201
json.dump(fl_result, f, indent=2)
202202
print(f"[answer_json_verifier] Generated fault_localization_result.json")
203203
204-
# ── Apply diffs to verify_repo (for code-change verification) ─────────────
204+
# ── Apply diffs directly to /repo_full (zero-copy) ───────────────────────
205205
if not changes:
206206
sys.exit(0)
207207
208-
# We have diffs to apply — need /repo_full
209-
verify_repo = "/tmp/verify_repo"
208+
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
210209
repo_full = "/repo_full"
210+
verify_repo = repo_full
211211
212212
if not os.path.isdir(repo_full):
213213
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
214214
with open("/tmp/.answer_json_no_changes", "w") as f:
215215
f.write("1")
216216
sys.exit(0)
217217
218-
# Copy /repo_full to /tmp/verify_repo
219-
print(f"[answer_json_verifier] Copying {repo_full} -> {verify_repo}...")
220-
subprocess.run(["rm", "-rf", verify_repo], check=True)
221-
subprocess.run(["cp", "-a", repo_full, verify_repo], check=True)
218+
# Ensure verifier (root) can write to repo_full
219+
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
220+
print(f"[answer_json_verifier] Applying diffs to {repo_full} (in-place, zero-copy)...")
222221
subprocess.run(
223-
["git", "config", "--global", "--add", "safe.directory", verify_repo],
222+
["git", "config", "--global", "--add", "safe.directory", repo_full],
224223
capture_output=True
225224
)
226225

benchmarks/ccb_build/envoy-grpc-server-impl-001/tests/answer_json_verifier_lib.sh

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# 1. Validates /workspace/answer.json exists and is valid JSON
66
# 2. Extracts analysis.reasoning → $ANALYSIS_TEXT_FILE (for keyword/pattern scoring)
77
# 3. Extracts analysis.files_examined → $ANALYSIS_FILES_FILE (for IR metrics)
8-
# 4. If changes[] has diffs: copies /repo_full → /tmp/verify_repo, applies all diffs
8+
# 4. If changes[] has diffs: applies diffs directly to /repo_full (zero-copy, container is ephemeral)
99
# 5. Exports VERIFY_REPO, ARTIFACT_ONLY, ANALYSIS_TEXT_FILE, etc.
1010
#
1111
# For non-artifact-only runs, this script is a no-op that sets safe defaults.
@@ -201,26 +201,25 @@ if analysis:
201201
json.dump(fl_result, f, indent=2)
202202
print(f"[answer_json_verifier] Generated fault_localization_result.json")
203203
204-
# ── Apply diffs to verify_repo (for code-change verification) ─────────────
204+
# ── Apply diffs directly to /repo_full (zero-copy) ───────────────────────
205205
if not changes:
206206
sys.exit(0)
207207
208-
# We have diffs to apply — need /repo_full
209-
verify_repo = "/tmp/verify_repo"
208+
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
210209
repo_full = "/repo_full"
210+
verify_repo = repo_full
211211
212212
if not os.path.isdir(repo_full):
213213
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
214214
with open("/tmp/.answer_json_no_changes", "w") as f:
215215
f.write("1")
216216
sys.exit(0)
217217
218-
# Copy /repo_full to /tmp/verify_repo
219-
print(f"[answer_json_verifier] Copying {repo_full} -> {verify_repo}...")
220-
subprocess.run(["rm", "-rf", verify_repo], check=True)
221-
subprocess.run(["cp", "-a", repo_full, verify_repo], check=True)
218+
# Ensure verifier (root) can write to repo_full
219+
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
220+
print(f"[answer_json_verifier] Applying diffs to {repo_full} (in-place, zero-copy)...")
222221
subprocess.run(
223-
["git", "config", "--global", "--add", "safe.directory", verify_repo],
222+
["git", "config", "--global", "--add", "safe.directory", repo_full],
224223
capture_output=True
225224
)
226225

benchmarks/ccb_build/eslint-markdown-deps-install-001/tests/answer_json_verifier_lib.sh

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# 1. Validates /workspace/answer.json exists and is valid JSON
66
# 2. Extracts analysis.reasoning → $ANALYSIS_TEXT_FILE (for keyword/pattern scoring)
77
# 3. Extracts analysis.files_examined → $ANALYSIS_FILES_FILE (for IR metrics)
8-
# 4. If changes[] has diffs: copies /repo_full → /tmp/verify_repo, applies all diffs
8+
# 4. If changes[] has diffs: applies diffs directly to /repo_full (zero-copy, container is ephemeral)
99
# 5. Exports VERIFY_REPO, ARTIFACT_ONLY, ANALYSIS_TEXT_FILE, etc.
1010
#
1111
# For non-artifact-only runs, this script is a no-op that sets safe defaults.
@@ -201,26 +201,25 @@ if analysis:
201201
json.dump(fl_result, f, indent=2)
202202
print(f"[answer_json_verifier] Generated fault_localization_result.json")
203203
204-
# ── Apply diffs to verify_repo (for code-change verification) ─────────────
204+
# ── Apply diffs directly to /repo_full (zero-copy) ───────────────────────
205205
if not changes:
206206
sys.exit(0)
207207
208-
# We have diffs to apply — need /repo_full
209-
verify_repo = "/tmp/verify_repo"
208+
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
210209
repo_full = "/repo_full"
210+
verify_repo = repo_full
211211
212212
if not os.path.isdir(repo_full):
213213
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
214214
with open("/tmp/.answer_json_no_changes", "w") as f:
215215
f.write("1")
216216
sys.exit(0)
217217
218-
# Copy /repo_full to /tmp/verify_repo
219-
print(f"[answer_json_verifier] Copying {repo_full} -> {verify_repo}...")
220-
subprocess.run(["rm", "-rf", verify_repo], check=True)
221-
subprocess.run(["cp", "-a", repo_full, verify_repo], check=True)
218+
# Ensure verifier (root) can write to repo_full
219+
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
220+
print(f"[answer_json_verifier] Applying diffs to {repo_full} (in-place, zero-copy)...")
222221
subprocess.run(
223-
["git", "config", "--global", "--add", "safe.directory", verify_repo],
222+
["git", "config", "--global", "--add", "safe.directory", repo_full],
224223
capture_output=True
225224
)
226225

benchmarks/ccb_build/flink-pricing-window-feat-001/tests/answer_json_verifier_lib.sh

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# 1. Validates /workspace/answer.json exists and is valid JSON
66
# 2. Extracts analysis.reasoning → $ANALYSIS_TEXT_FILE (for keyword/pattern scoring)
77
# 3. Extracts analysis.files_examined → $ANALYSIS_FILES_FILE (for IR metrics)
8-
# 4. If changes[] has diffs: copies /repo_full → /tmp/verify_repo, applies all diffs
8+
# 4. If changes[] has diffs: applies diffs directly to /repo_full (zero-copy, container is ephemeral)
99
# 5. Exports VERIFY_REPO, ARTIFACT_ONLY, ANALYSIS_TEXT_FILE, etc.
1010
#
1111
# For non-artifact-only runs, this script is a no-op that sets safe defaults.
@@ -201,26 +201,25 @@ if analysis:
201201
json.dump(fl_result, f, indent=2)
202202
print(f"[answer_json_verifier] Generated fault_localization_result.json")
203203
204-
# ── Apply diffs to verify_repo (for code-change verification) ─────────────
204+
# ── Apply diffs directly to /repo_full (zero-copy) ───────────────────────
205205
if not changes:
206206
sys.exit(0)
207207
208-
# We have diffs to apply — need /repo_full
209-
verify_repo = "/tmp/verify_repo"
208+
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
210209
repo_full = "/repo_full"
210+
verify_repo = repo_full
211211
212212
if not os.path.isdir(repo_full):
213213
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
214214
with open("/tmp/.answer_json_no_changes", "w") as f:
215215
f.write("1")
216216
sys.exit(0)
217217
218-
# Copy /repo_full to /tmp/verify_repo
219-
print(f"[answer_json_verifier] Copying {repo_full} -> {verify_repo}...")
220-
subprocess.run(["rm", "-rf", verify_repo], check=True)
221-
subprocess.run(["cp", "-a", repo_full, verify_repo], check=True)
218+
# Ensure verifier (root) can write to repo_full
219+
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
220+
print(f"[answer_json_verifier] Applying diffs to {repo_full} (in-place, zero-copy)...")
222221
subprocess.run(
223-
["git", "config", "--global", "--add", "safe.directory", verify_repo],
222+
["git", "config", "--global", "--add", "safe.directory", repo_full],
224223
capture_output=True
225224
)
226225

0 commit comments

Comments
 (0)