Commit 464d287
[gobby-cli-#961] fix: stable Windows file-identity in gwiki log dedup
gwiki's windows-msvc release legs failed to compile: log::same_file_identity
used std::os::windows::fs::MetadataExt::{file_index_high, file_index_low,
volume_serial_number}, which sit behind the unstable `windows_by_handle`
feature and do not exist on stable rustc (E0599/E0658). gwiki has never
shipped Windows binaries — the windows-msvc targets were added to the matrix
but the code was never stable-Windows-clean.
Read the same volume-serial + file-index identity off the open file handle
via GetFileInformationByHandle (windows-sys), preserving same_file_identity
semantics (two paths are the same file iff equal (volume serial, file index
high, file index low)). Promote windows-sys from a cfg(windows) dev-dependency
to a real cfg(windows) dependency and add the Win32_Foundation feature for
HANDLE.
Host-validated: cargo build/clippy -p gobby-wiki, cargo fmt --all --check, and
the log dedup tests pass. The windows-msvc compile is validated via the
release-gwiki.yml workflow_dispatch dry-run (cannot cross-build Windows
openssl/pdfium on macOS).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 933d78c commit 464d287
3 files changed
Lines changed: 32 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
99 | 105 | | |
100 | 106 | | |
101 | 107 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
67 | 72 | | |
68 | 73 | | |
69 | 74 | | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
| 131 | + | |
131 | 132 | | |
132 | | - | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
133 | 138 | | |
134 | 139 | | |
135 | | - | |
136 | | - | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
137 | 152 | | |
138 | 153 | | |
139 | 154 | | |
140 | | - | |
141 | | - | |
142 | | - | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
143 | 158 | | |
144 | 159 | | |
145 | 160 | | |
| |||
0 commit comments