Orca Worker
9104d51582
fix(windows): force core.autocrlf=input for the patch repair
...
My LF normalization of the windows-process-tree patch broke the `git apply`
repair path introduced in this PR. The two are coupled and I checked only one.
Those 174 CR bytes were not editor noise. They sat on exactly the pre-image
lines and nowhere else -- 107/107 in src/process.cc, 67/67 in
src/process_commandline.cc, 0 on every added or context line -- because
@vscode/windows-process-tree@0.8.0 ships those two sources as CRLF. Normalizing
the patch made its pre-image stop matching the file it is applied against.
Measured, reconstructing the true CRLF pre-image from the pre-normalization
blob and applying the current LF patch:
core.autocrlf plain -c core.autocrlf=input
true exit 0 exit 0
input exit 0 exit 0
false exit 1 exit 0
`false` is Git's own built-in default and what "checkout as-is" selects in the
Git for Windows installer -- on this box the `true` that hides it comes from the
installer's system gitconfig, not from anything in the repo. There the repair
throws, ensureWindowsProcessTreeCommandLinePatch reports "still reads the PEB,
and repairing it ... failed", isWindowsNativeLockError does not match that text,
and `pnpm install` dies with no path forward.
Forcing the mode rather than `--ignore-whitespace`: both fix every cell and both
leave the applied file fully LF, but `input` relaxes line endings only, so a hunk
whose real content drifted is still rejected. The repair rewrites a
security-relevant source file; it should stay strict about everything except the
thing that is legitimately ambiguous.
Not reverting the patch to CRLF: windows-process-tree-patch-contract.test.mjs
(pre-existing on main) forbids CR bytes in it, and pnpm computes the same hash
either way. LF plus the forced mode is the end state.
The suite could not have caught this. The fixture built its pre-image from the
patch itself and joined with '\n', so fixture and patch agreed by construction on
any encoding -- once again a test that passes without its fix. It now emits the
CRLF the real package ships, and the case runs under both autocrlf modes pinned
through a temp HOME gitconfig, because the repair blinds git to the repo and so
reads global config. Verified by deletion in both directions: with the flag
removed the autocrlf=false case fails with the exact "still reads the PEB" dead
end while autocrlf=true still passes, and with the fixture back on LF all eight
cases pass with no fix present at all.
Also corrected the .gitattributes comment I added last commit. It said `git
apply` needs the bytes the patch was written against, which is now false -- the
pinned bytes are LF and the bytes it was written against are CRLF. That is the
same class of confident-and-wrong claim that produced the bad hash twice.
2026-09-01 18:59:16 -07:00
..
2026-08-03 20:45:23 -07:00
2026-08-18 02:12:21 -07:00
2026-08-04 15:54:17 -07:00
2026-08-04 15:54:17 -07:00
2026-08-10 00:29:26 -07:00
2026-07-26 13:20:23 -07:00
2026-07-28 00:21:13 -07:00
2026-08-11 01:27:02 -07:00
2026-08-11 01:27:02 -07:00
2026-08-31 16:45:36 -07:00
2026-08-29 22:34:03 -07:00
2026-08-29 22:34:03 -07:00
2026-07-12 23:43:07 -07:00
2026-06-09 15:59:17 -07:00
2026-07-27 17:17:03 -07:00
2026-06-29 23:37:30 -07:00
2026-08-16 12:49:02 -07:00
2026-07-27 16:36:39 -07:00
2026-07-27 16:36:39 -07:00
2026-08-29 20:54:13 -07:00
2026-08-11 18:19:43 -07:00
2026-08-28 00:59:21 -07:00
2026-08-28 00:59:21 -07:00
2026-08-27 00:18:51 -07:00
2026-08-26 03:14:45 -07:00
2026-08-27 16:09:07 -07:00
2026-08-27 16:09:07 -07:00
2026-09-01 17:55:32 -07:00
2026-09-01 00:06:23 -07:00
2026-08-24 23:17:04 -07:00
2026-06-29 23:37:30 -07:00
2026-07-06 17:12:27 -07:00
2026-07-06 17:12:27 -07:00
2026-07-27 18:58:36 -07:00
2026-07-03 22:32:11 -07:00
2026-07-03 19:58:07 -07:00
2026-08-09 14:06:25 -07:00
2026-08-24 22:21:26 -07:00
2026-08-22 21:47:46 -07:00
2026-08-13 12:38:08 -07:00
2026-08-13 12:38:08 -07:00
2026-08-31 19:34:55 -07:00
2026-08-31 19:34:55 -07:00
2026-07-23 17:44:43 -07:00
2026-07-27 20:54:02 -07:00
2026-07-27 20:54:02 -07:00
2026-07-27 17:16:01 -07:00
2026-08-29 01:38:17 -07:00
2026-06-09 15:59:17 -07:00
2026-08-30 14:39:46 -07:00
2026-07-20 14:34:53 -07:00
2026-07-20 14:34:53 -07:00
2026-07-20 14:34:53 -07:00
2026-07-26 20:20:12 -07:00
2026-08-31 16:45:36 -07:00
2026-08-30 18:19:08 -07:00
2026-08-11 18:19:43 -07:00
2026-08-15 00:41:45 -07:00
2026-08-31 18:57:52 -04:00
2026-06-07 17:49:01 -07:00
2026-06-07 17:49:01 -07:00
2026-08-16 20:57:11 -07:00
2026-08-29 22:34:03 -07:00
2026-08-29 22:34:03 -07:00
2026-07-03 20:53:16 -07:00
2026-07-03 20:53:16 -07:00
2026-08-25 15:36:51 -07:00
2026-08-07 22:33:50 -07:00
2026-08-16 01:52:58 -07:00
2026-08-16 01:52:58 -07:00
2026-08-16 01:57:01 -07:00
2026-08-03 18:02:45 -07:00
2026-08-03 18:02:45 -07:00
2026-08-19 17:34:27 -07:00
2026-07-27 12:31:37 -07:00
2026-07-27 12:31:37 -07:00
2026-08-31 22:18:50 -07:00
2026-08-18 13:08:04 -07:00
2026-08-17 22:34:04 -07:00
2026-08-17 22:34:04 -07:00
2026-06-02 11:49:00 -07:00
2026-08-31 01:19:32 -07:00
2026-08-09 19:01:35 -07:00
2026-07-27 13:32:29 -07:00
2026-07-27 13:32:29 -07:00
2026-08-30 21:12:34 -07:00
2026-08-31 20:35:54 -07:00
2026-08-31 08:17:40 -07:00
2026-08-24 15:48:47 -07:00
2026-09-01 17:55:32 -07:00
2026-09-01 17:54:21 -07:00
2026-08-14 19:04:54 -04:00
2026-06-05 01:15:54 -07:00
2026-08-22 01:37:09 -07:00
2026-08-31 08:17:40 -07:00
2026-08-11 18:19:43 -07:00
2026-07-30 13:20:47 -07:00
2026-07-10 17:27:47 -07:00
2026-07-10 17:27:47 -07:00
2026-07-22 23:10:19 -07:00
2026-08-17 19:20:13 -07:00
2026-07-26 20:31:52 -07:00
2026-07-27 18:58:36 -07:00
2026-07-27 18:58:36 -07:00
2026-07-30 19:33:05 -07:00
2026-07-30 19:33:05 -07:00
2026-07-30 19:33:05 -07:00
2026-08-03 23:18:15 -07:00
2026-08-03 23:18:15 -07:00
2026-08-29 21:56:21 -07:00
2026-08-29 21:56:21 -07:00
2026-08-13 15:45:00 -07:00
2026-06-28 21:16:02 -07:00
2026-08-04 15:54:17 -07:00
2026-08-04 15:54:17 -07:00
2026-07-27 17:09:31 -07:00
2026-08-12 00:37:48 -07:00
2026-08-12 00:37:48 -07:00
2026-08-12 00:37:48 -07:00
2026-08-12 00:37:48 -07:00
2026-06-15 12:56:22 -07:00
2026-06-29 23:37:30 -07:00
2026-08-31 20:35:54 -07:00
2026-08-31 20:35:54 -07:00
2026-08-31 20:35:54 -07:00
2026-08-29 14:13:26 -07:00
2026-06-03 23:42:33 -07:00
2026-06-04 16:11:51 -04:00
2026-08-11 18:19:43 -07:00
2026-06-03 12:48:00 -07:00
2026-08-19 22:37:02 -07:00
2026-08-16 13:45:54 -07:00
2026-06-28 19:43:18 -07:00
2026-07-27 20:54:02 -07:00
2026-06-28 19:43:18 -07:00
2026-08-03 02:18:05 -07:00
2026-08-03 02:18:05 -07:00
2026-08-03 02:18:05 -07:00
2026-08-03 02:18:05 -07:00
2026-08-03 02:18:05 -07:00
2026-08-03 02:18:05 -07:00
2026-08-03 02:18:05 -07:00
2026-08-03 02:18:05 -07:00
2026-08-03 02:18:05 -07:00
2026-08-03 02:18:05 -07:00
2026-08-09 15:40:48 -07:00
2026-08-09 15:40:48 -07:00
2026-08-09 22:24:09 -07:00
2026-07-24 00:26:39 -07:00
2026-08-13 02:56:43 -07:00
2026-08-04 03:56:33 -07:00
2026-08-04 03:56:33 -07:00
2026-08-09 15:40:48 -07:00
2026-08-27 00:26:55 -07:00
2026-08-09 15:40:48 -07:00
2026-08-09 15:40:48 -07:00
2026-08-09 15:40:48 -07:00
2026-08-13 02:56:43 -07:00
2026-08-22 01:40:08 -07:00
2026-08-29 02:38:32 -07:00
2026-06-29 23:37:30 -07:00
2026-06-19 15:52:05 -07:00
2026-06-09 15:59:17 -07:00
2026-06-09 15:59:17 -07:00
2026-08-13 23:47:20 -07:00
2026-07-31 15:13:41 -07:00
2026-08-04 03:56:33 -07:00
2026-08-04 03:56:33 -07:00
2026-06-17 15:14:35 -07:00
2026-08-22 01:40:08 -07:00
2026-08-09 15:40:48 -07:00
2026-08-04 03:56:33 -07:00
2026-08-12 18:53:17 -07:00
2026-08-04 03:56:33 -07:00
2026-08-27 00:26:55 -07:00
2026-08-09 15:40:48 -07:00
2026-08-27 00:26:55 -07:00
2026-08-09 15:40:48 -07:00
2026-08-12 18:53:17 -07:00
2026-08-07 22:08:22 -07:00
2026-08-07 22:08:22 -07:00
2026-08-12 18:53:17 -07:00
2026-08-12 18:53:17 -07:00
2026-07-29 17:44:41 -07:00
2026-07-10 19:08:12 -07:00
2026-07-27 16:36:39 -07:00
2026-07-27 16:36:39 -07:00
2026-08-11 18:19:43 -07:00
2026-07-30 19:24:34 -07:00
2026-07-30 19:24:34 -07:00
2026-07-30 19:24:34 -07:00
2026-07-30 19:24:34 -07:00
2026-07-30 19:24:34 -07:00
2026-06-02 21:15:00 -07:00
2026-07-28 15:34:52 -07:00
2026-06-28 21:19:10 -07:00
2026-08-11 18:19:43 -07:00
2026-07-26 20:31:55 -07:00
2026-07-27 18:58:36 -07:00
2026-08-17 12:02:47 -07:00
2026-06-22 01:07:16 -07:00
2026-06-22 01:07:16 -07:00
2026-07-27 20:54:02 -07:00
2026-08-28 00:59:21 -07:00
2026-08-31 18:57:52 -04:00
2026-05-15 05:44:25 -04:00
2026-07-27 12:31:37 -07:00
2026-07-27 12:31:37 -07:00
2026-07-22 11:43:01 -07:00
2026-08-31 18:57:52 -04:00
2026-07-28 00:21:13 -07:00
2026-08-30 15:14:49 -07:00
2026-08-19 22:39:48 -07:00
2026-08-24 21:43:22 -07:00
2026-08-31 01:19:32 -07:00
2026-09-01 18:04:27 -07:00
2026-08-11 12:20:20 -07:00
2026-08-29 20:54:13 -07:00
2026-08-30 00:04:30 -07:00
2026-09-01 18:17:37 -07:00
2026-08-30 14:39:46 -07:00
2026-08-31 18:18:15 -07:00
2026-08-31 08:17:40 -07:00
2026-08-18 14:09:12 -07:00
2026-07-27 16:26:43 -07:00
2026-08-31 08:17:40 -07:00
2026-07-27 13:32:29 -07:00
2026-07-27 13:32:29 -07:00
2026-05-30 13:09:17 -07:00
2026-08-31 03:10:44 -07:00
2026-07-27 20:54:02 -07:00
2026-05-30 21:46:13 -07:00
2026-07-28 00:21:13 -07:00
2026-09-01 18:59:16 -07:00
2026-09-01 18:59:16 -07:00
2026-09-01 17:54:31 -07:00
2026-09-01 17:54:31 -07:00
2026-08-31 18:53:01 -07:00
2026-08-31 22:18:50 -07:00
2026-08-31 22:18:50 -07:00
2026-08-31 22:18:50 -07:00
2026-08-30 15:14:49 -07:00
2026-08-30 15:14:49 -07:00
2026-08-20 00:16:04 -07:00
2026-08-10 01:17:14 -07:00
2026-07-27 16:40:59 -07:00
2026-08-11 18:19:43 -07:00
2026-07-30 18:08:30 -07:00
2026-08-31 23:07:50 -04:00
2026-08-31 21:17:31 -04:00
2026-08-29 19:53:50 -07:00
2026-06-30 16:36:59 -07:00
2026-07-25 03:50:25 -07:00
2026-07-25 03:50:25 -07:00
2026-08-04 15:54:17 -07:00
2026-07-23 20:20:00 -07:00
2026-07-23 20:20:00 -07:00
2026-07-23 20:20:00 -07:00
2026-07-23 20:20:00 -07:00
2026-07-23 20:20:00 -07:00
2026-08-26 15:43:02 -07:00
2026-07-28 00:21:13 -07:00
2026-07-12 23:43:07 -07:00
2026-07-26 13:19:23 -07:00
2026-07-02 18:41:23 -04:00
2026-07-27 15:48:39 -07:00
2026-07-27 15:48:39 -07:00
2026-07-27 17:18:31 -07:00
2026-08-10 15:52:59 -07:00
2026-08-29 23:55:00 -07:00
2026-08-05 12:57:02 -07:00
2026-06-22 01:07:16 -07:00
2026-08-31 22:18:50 -07:00
2026-08-31 08:17:40 -07:00
2026-08-14 19:04:54 -04:00
2026-07-22 18:52:37 -07:00
2026-08-13 15:45:00 -07:00
2026-08-12 00:37:48 -07:00
2026-08-02 17:40:58 -07:00
2026-05-16 17:44:42 -04:00
2026-08-16 13:45:54 -07:00
2026-08-16 13:45:54 -07:00
2026-08-25 15:36:51 -07:00
2026-07-20 21:36:15 -07:00
2026-08-01 00:25:35 -07:00
2026-07-22 18:25:05 -07:00
2026-06-30 16:36:59 -07:00
2026-08-25 15:36:51 -07:00
2026-06-22 16:42:20 -07:00
2026-08-29 20:54:13 -07:00
2026-08-27 19:47:15 -07:00
2026-06-07 04:15:26 -07:00
2026-08-12 22:33:19 -07:00
2026-07-12 23:50:00 -07:00
2026-08-11 18:19:43 -07:00
2026-08-30 01:58:32 -07:00
2026-06-07 11:01:02 -07:00
2026-07-10 17:27:47 -07:00
2026-07-10 17:27:47 -07:00
2026-08-17 19:20:13 -07:00
2026-06-22 01:07:16 -07:00
2026-07-12 18:15:15 -07:00
2026-07-15 15:23:35 -07:00
2026-08-24 21:11:45 -07:00
2026-08-31 20:35:54 -07:00
2026-08-05 12:57:02 -07:00
2026-08-09 19:01:35 -07:00
2026-08-09 19:01:35 -07:00
2026-08-09 19:01:35 -07:00
2026-08-31 20:35:54 -07:00
2026-08-31 20:35:54 -07:00
2026-08-31 21:17:31 -04:00
2026-08-19 23:33:05 -07:00
2026-08-27 16:09:07 -07:00
2026-08-07 22:54:42 -07:00
2026-07-31 04:58:15 -07:00
2026-08-19 22:39:48 -07:00
2026-07-26 22:26:49 -07:00
2026-08-31 21:12:43 -07:00
2026-08-31 21:12:43 -07:00
2026-07-27 01:02:48 -07:00
2026-07-10 17:27:47 -07:00
2026-06-22 19:13:32 -07:00
2026-07-27 17:38:54 -07:00
2026-07-27 17:38:54 -07:00
2026-07-27 23:28:05 -07:00
2026-08-11 18:19:43 -07:00
2026-08-08 19:06:50 -07:00
2026-08-30 01:58:32 -07:00
2026-08-30 01:58:32 -07:00
2026-07-27 23:28:05 -07:00
2026-06-22 19:13:32 -07:00
2026-06-22 19:13:32 -07:00
2026-07-10 17:27:47 -07:00
2026-07-26 15:32:33 -07:00
2026-08-06 00:23:57 -07:00
2026-07-27 17:15:54 -07:00
2026-06-29 23:37:30 -07:00
2026-06-29 23:37:30 -07:00
2026-06-29 23:37:30 -07:00
2026-08-16 21:58:28 -07:00
2026-06-28 22:58:27 -07:00
2026-07-23 18:35:31 -07:00
2026-08-11 18:19:43 -07:00
2026-08-19 17:34:27 -07:00
2026-08-19 17:34:27 -07:00
2026-07-22 19:11:44 -07:00
2026-07-22 19:11:44 -07:00
2026-08-29 23:55:00 -07:00
2026-08-04 03:56:33 -07:00
2026-08-04 03:56:33 -07:00
2026-08-01 00:25:35 -07:00
2026-07-29 17:44:41 -07:00
2026-06-29 23:37:30 -07:00
2026-04-09 12:28:52 -07:00
2026-07-09 16:09:09 -07:00
2026-07-09 16:09:09 -07:00
2026-08-24 15:48:47 -07:00
2026-08-24 15:48:47 -07:00
2026-07-27 01:14:33 -07:00
2026-07-27 01:14:33 -07:00
2026-07-05 23:56:37 -07:00
2026-06-22 01:07:16 -07:00
2026-07-16 14:47:28 -07:00
2026-07-30 18:27:16 -07:00
2026-07-30 18:27:16 -07:00
2026-08-29 14:13:26 -07:00
2026-06-29 22:38:29 -07:00
2026-07-02 12:11:58 -07:00
2026-07-02 12:11:58 -07:00
2026-08-22 22:30:11 -07:00
2026-08-01 00:25:35 -07:00
2026-07-19 20:25:52 -07:00
2026-08-29 21:16:55 -07:00
2026-09-01 18:59:16 -07:00
2026-09-01 17:55:32 -07:00
2026-08-29 14:13:26 -07:00
2026-08-27 18:34:03 -07:00
2026-07-27 15:48:39 -07:00
2026-09-01 01:05:00 -04:00
2026-08-10 15:52:59 -07:00
2026-08-09 22:24:33 -07:00
2026-08-13 20:44:16 -07:00
2026-06-09 10:43:04 -07:00
2026-08-29 22:34:03 -07:00
2026-08-08 14:06:34 -07:00
2026-08-09 12:53:13 -07:00
2026-08-30 15:14:49 -07:00
2026-08-30 15:14:49 -07:00
2026-07-27 18:58:36 -07:00