Artifact df223117089aeed4d0165ffe45bd943a2a9da4c4abf384abc48a9eb2649e90fb:
- File
internal/merge/utf.go
-
2026-10-19 01:50:20
— part of check-in
[dcec15d91f]
on branch feat/submanifest-reader
— fix(merge): write fossil's merge3 output byte for byte
Port fossil 2.28's merge3.c and the diff it runs on (break_into_lines, break_into_tokens, longestCommonSequence, diff_step, diff_optimize, the UTF-8/UTF-16 BOM handling) so Merge and Update align, merge and mark conflicts exactly as fossil does: line-numbered markers, the token-level suggested resolution, CRLF markers, and binary input left unmerged. HasConflictMarkers follows contains_merge_marker in skipping CR runs.
A fossil-binary comparison test checks 1237 generated and hand-written cases against "fossil 3-way-merge" and UTF-16 cases against "fossil merge"; fossil commit refuses a file holding our markers.
Tracked in #447 (user: [email protected], size: 3029) [annotate] [blame] [check-ins using]
-
2026-10-19 12:46:37
— part of check-in
[2a0701c7d3]
on branch feat/submanifest-reader
— Merge branch 'fix/merge3-markers' into feat/submanifest-reader
# Conflicts: # CHANGELOG.md (user: [email protected], size: 3029) [annotate] [blame] [check-ins using]
-
2026-10-19 14:41:42
— part of check-in
[47f89f0798]
on branch feat/submanifest-reader
— Merge branch 'feat/submanifest-reader' into feat/cones
Update's rewrite meets the sparse worktree: a file outside the cone is a record-only step, counted in OutOfCone, and never planned, scanned, checked, written, backed up as NAME-original or chmodded; reloading vfile moves its record to the target. SetCone records the mtime of each file it materializes, as Extract now does. (user: [email protected], size: 3029) [annotate] [blame] [check-ins using]
-
2026-10-21 21:20:46
— part of check-in
[7244496a09]
on branch main
— Merge pull request #437 from danmestas/feat/submanifest-reader
feat: sub-manifest trees and sparse cones (draft-fossil-submanifests-00, draft-fossil-sparse-cone-00) (user: [email protected], size: 3029) [annotate] [blame] [check-ins using]
-
2026-10-19 01:50:20
— part of check-in
[dcec15d91f]
on branch feat/submanifest-reader
— fix(merge): write fossil's merge3 output byte for byte