fix: publish --path commits the uncommitted generated files outside its path, so the pushed catalog and log match its pages (#182)
Files changed: - CHANGES.md - VERSION - tools/CONTRACT.md - tools/chemenu/commands/git_publish.py - tools/chemenu/tests/test_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:
1 parent
fa106eeda3
commit
a3fc8f6873
5 files changed
+190
-15
No files matched your search
+28
-1
@@ -59,7 +59,7 @@ concern - readable here, never shipped as something to parse.
|
||||
|
||||
---
|
||||
|
||||
## 8.0.0-beta.47 - 2026-10-06 - sync record: the autostash note states the behaviour, not the change
|
||||
## 8.0.0-beta.48 - 2026-10-06 - publish --path nimmt ungespeicherte generierte Dateien außerhalb des Pfads mit
|
||||
|
||||
**Author:** Torben Nehmer
|
||||
|
||||
@@ -112,6 +112,7 @@ concern - readable here, never shipped as something to parse.
|
||||
- wiki-ingest: updating the captured repositories is a step-1 branch over raw status
|
||||
- export guidelines: the guideline pages as a generated GUIDELINES.md, pushed into the captured repositories behind the Guideline Push Gate
|
||||
- publish/sync merge generated files mechanically and carry non-overlapping uncommitted work through a rebase
|
||||
- publish --path nimmt ungespeicherte generierte Dateien außerhalb des Pfads mit
|
||||
|
||||
**Low impact**
|
||||
- version bump no longer points at version release in its output
|
||||
@@ -160,6 +161,32 @@ concern - readable here, never shipped as something to parse.
|
||||
- sync record: the autostash note states the behaviour, not the change
|
||||
<!-- /wikitool:bumps -->
|
||||
|
||||
### publish --path nimmt ungespeicherte generierte Dateien außerhalb des Pfads mit
|
||||
|
||||
`publish --path <X>` staged and committed only `<X>`. When the catalog and log it had written -
|
||||
or the ones a reconcile had just merged and regenerated - lay outside `<X>`, the push carried
|
||||
the new page with a catalog that did not list it and a log without its entries, and left the
|
||||
generated files behind uncommitted until a `publish` without `--path` took them along. Nothing was
|
||||
lost, but the remote stayed inconsistent in between, and another session's `sync` worked against
|
||||
that state.
|
||||
|
||||
- **Uncommitted generated files outside `--path` now join the commit** (`kb/index.md`,
|
||||
`kb/log.md`, `kb/provenance.md`, every `kb/**/INDEX.md`), and a line names them:
|
||||
`Including N generated file(s) outside --path: ...`. Git decides what lies under `<X>`, by the
|
||||
same pathspec the staging uses; files already under it are neither added nor named.
|
||||
- **Regardless of whether this run's reconcile regenerated anything.** A run the Mass-Update
|
||||
Gate refuses has already reconciled; the confirmed re-run finds nothing left to regenerate,
|
||||
and a condition on the regeneration would have pushed the inconsistent state on exactly that
|
||||
path - the same goes for a `sync` followed by `publish --path`.
|
||||
- **The gate is unchanged.** The added files stay out of its count, and the `--confirm` token
|
||||
and the re-run line cover the `--path` given, so a clearance issued for `<X>` stays valid.
|
||||
- **Every other file outside `--path`** is left alone, as before.
|
||||
|
||||
Where uncommitted pages also lie outside `<X>`, the catalog that goes out with `<X>` already
|
||||
lists them until the next `publish` sends them - the reverse of before, where the page went out
|
||||
and the catalog did not know it. Drop-in: no command, flag, file format or state file changes.
|
||||
`publish`'s record follows (Gitea #182).
|
||||
|
||||
### 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
|
||||
|
||||
Reference in new issue
Block a user