docs: sync record states the autostash behaviour, not the change (#180)
CI / verify (push) Successful in 5m50s
CI / pwsh (push) Successful in 2m1s
Release / release (push) Successful in 34s

Files changed:
- CHANGES.md
- VERSION
- tools/CONTRACT.md
- tools/chemenu/commands/git_publish.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
This commit is contained in:
torbenandClaude Opus 5.5 committed 2026-10-06 09:20:08 +02:00
1 parent d4638bacde
commit fa106eeda3
4 files changed
+11 -4

No files matched your search

+8 -1
View File
@@ -59,7 +59,7 @@ concern - readable here, never shipped as something to parse.
--- ---
## 8.0.0-beta.46 - 2026-10-06 - publish/sync merge generated files mechanically and carry non-overlapping uncommitted work through a rebase ## 8.0.0-beta.47 - 2026-10-06 - sync record: the autostash note states the behaviour, not the change
**Author:** Torben Nehmer **Author:** Torben Nehmer
@@ -157,8 +157,15 @@ concern - readable here, never shipped as something to parse.
- wiki-ingest and wiki-manage call xref add with --rel, not the --rel-a/--rel-b removed in 4.0.0 - wiki-ingest and wiki-manage call xref add with --rel, not the --rel-a/--rel-b removed in 4.0.0
- raw accept: an occupied folder name held by a captured bundle points at --replaces-bundle - raw accept: an occupied folder name held by a captured bundle points at --replaces-bundle
- kb/CONVENTIONS.md.template: the guideline filter is a default, not a setup question - kb/CONVENTIONS.md.template: the guideline filter is a default, not a setup question
- sync record: the autostash note states the behaviour, not the change
<!-- /wikitool:bumps --> <!-- /wikitool:bumps -->
### sync record: the autostash note states the behaviour, not the change
One note in `sync`'s command record, written with 8.0.0-beta.46, said that uncommitted changes no
incoming commit touches "no longer" stop a rebase - a sentence about the change, which a reader of
the record has nothing to compare against. It now states what `sync` does (Gitea #180).
### publish/sync merge generated files mechanically and carry non-overlapping uncommitted work through a rebase ### publish/sync merge generated files mechanically and carry non-overlapping uncommitted work through a rebase
Every ingest touches `kb/index.md` and `kb/log.md`, so two ingests on two checkouts - or two Every ingest touches `kb/index.md` and `kb/log.md`, so two ingests on two checkouts - or two
+1 -1
View File
@@ -1 +1 @@
8.0.0-beta.46 8.0.0-beta.47
+1 -1
View File
@@ -1922,7 +1922,7 @@ Fetch `<remote>/<branch>` and bring the local branch up to date with it.
- Fetches `<remote>/<branch>`, then: fast-forwards when only the remote moved; rebases the local commits on top when both sides moved but touched disjoint files; exits 42 (rebase-review gate) when both sides touched the same file. - Fetches `<remote>/<branch>`, then: fast-forwards when only the remote moved; rebases the local commits on top when both sides moved but touched disjoint files; exits 42 (rebase-review gate) when both sides touched the same file.
- Files `wikitool` generates (`kb/index.md`, `kb/log.md`, `kb/provenance.md`, every `kb/**/INDEX.md`) never count as an overlap and never reach the gate. Where they are what stops git - uncommitted ones in the way of a fast-forward or rebase, or a rebase conflict in them - they are merged mechanically: `kb/log.md` becomes the incoming log plus the entries only this side appended, and the catalog and `kb/provenance.md` are regenerated from the merged pages and left as an uncommitted change. A reconcile git can do on its own is unchanged and regenerates nothing. - Files `wikitool` generates (`kb/index.md`, `kb/log.md`, `kb/provenance.md`, every `kb/**/INDEX.md`) never count as an overlap and never reach the gate. Where they are what stops git - uncommitted ones in the way of a fast-forward or rebase, or a rebase conflict in them - they are merged mechanically: `kb/log.md` becomes the incoming log plus the entries only this side appended, and the catalog and `kb/provenance.md` are regenerated from the merged pages and left as an uncommitted change. A reconcile git can do on its own is unchanged and regenerates nothing.
- Uncommitted changes that no incoming commit touches no longer stop a rebase: they are carried through it (`git rebase --autostash`) and come back unchanged. - Uncommitted changes that no incoming commit touches do not stop a rebase: they are carried through it (`git rebase --autostash`) and come back unchanged.
- Before anything is set aside, the working tree is stored as a commit under `refs/wikitool/reconcile-backup`. A successful reconcile drops it; a failed one restores the working tree and names the ref. - Before anything is set aside, the working tree is stored as a commit under `refs/wikitool/reconcile-backup`. A successful reconcile drops it; a failed one restores the working tree and names the ref.
- A refused call performs no rebase attempt and leaves the branch where it was. - A refused call performs no rebase attempt and leaves the branch where it was.
- The `--confirm-rebase` token covers the exact upstream state and the set of files touched on both sides, generated files excluded; either one moving makes it stale. - The `--confirm-rebase` token covers the exact upstream state and the set of files touched on both sides, generated files excluded; either one moving makes it stale.
+1 -1
View File
@@ -1349,7 +1349,7 @@ def apply_reconcile(outcome: ReconcileOutcome, remote: str, branch: str, command
"plus the entries only this side appended, and the catalog and `kb/provenance.md` are " "plus the entries only this side appended, and the catalog and `kb/provenance.md` are "
"regenerated from the merged pages and left as an uncommitted change. A reconcile git " "regenerated from the merged pages and left as an uncommitted change. A reconcile git "
"can do on its own is unchanged and regenerates nothing.", "can do on its own is unchanged and regenerates nothing.",
"Uncommitted changes that no incoming commit touches no longer stop a rebase: they are " "Uncommitted changes that no incoming commit touches do not stop a rebase: they are "
"carried through it (`git rebase --autostash`) and come back unchanged.", "carried through it (`git rebase --autostash`) and come back unchanged.",
"Before anything is set aside, the working tree is stored as a commit under " "Before anything is set aside, the working tree is stored as a commit under "
"`refs/wikitool/reconcile-backup`. A successful reconcile drops it; a failed one " "`refs/wikitool/reconcile-backup`. A successful reconcile drops it; a failed one "