| β¦ | β¦ | @@ -898,57 +899,86 @@ export const makeVcsDriverShape = Effect.fn("makeGitVcsDriverShape")(function* ( | |
| 972 | + | yield* execute({ | |
| 973 | + | operation, | |
| 974 | + | cwd: input.cwd, | |
| 975 | + | args: [...indexConfig, "update-index", "-z", "--index-info"], | |
π High vcs/GitVcsDriver.ts:975
With repository-local core.ignorestat=true, this call re-adds flagged entries with CE_VALID, so the later git add -A skips their edits and the checkpoint contains stale HEAD contents. update-index --index-info sets this bit from core.ignorestat; override that setting for this call.
No longer relevant as of cfee52fc24f56169ed4c0ce48759ad1ff9a7f655
Confirmed with git 2.43: under core.ignorestat=true, update-index --index-info writes the re-added entry as h, and add -A then keeps HEAD's blob. Fixed in cfee52fc24 by passing -c core.ignorestat=false to that private-index write. The flagged modes of checkpoint index inspection handles entries beyond the output cap now set core.ignorestat true; they fail without the fix (expected 'original\n' to equal 'modified\n') and pass with it.