backup: an instance backs up into a synced folder - backup init makes a bare repository under <target>/git its origin, backup run and publish mirror the machine data into <target>/<machine>/, doctor warns about .git in a synced folder (#186); 10.0.0-beta.10
Files changed: - CHANGES.md - INSTALL.md - VERSION - docs/explanation/configuration-tiers.md - docs/how-to/README.md - docs/how-to/back-up-to-a-synced-folder.md - docs/reference/commands/README.md - docs/reference/commands/git.md - docs/reference/commands/instance-health.md - docs/reference/configuration.md - instructions/publish-cycle.md - instructions/setup-instance.md - tools/CONTRACT.md - tools/README.md - tools/chemenu/backup.py - tools/chemenu/cli.py - tools/chemenu/cli_contract.py - tools/chemenu/commands/backup_cmd.py - tools/chemenu/commands/doctor.py - tools/chemenu/commands/git_publish.py - tools/chemenu/config_shapes.py - tools/chemenu/reference_doc.py - tools/chemenu/tests/conftest.py - tools/chemenu/tests/test_backup.py - tools/chemenu/tests/test_config_shapes.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
e789146116
commit
9736472f48
25 files changed
+2024
-15
No files matched your search
@@ -52,7 +52,12 @@ consistent.
|
||||
to commit locally with `--no-push`, and run that only on their answer. Never push by hand
|
||||
(AGENTS.md invariant 5): the next `publish` that reaches the remote sends the local commit
|
||||
together with whatever is new. A local-only instance, which has no remote at all, passes
|
||||
`--no-push` on every call ([setup-instance.md](setup-instance.md), step 4).
|
||||
`--no-push` on every call ([setup-instance.md](setup-instance.md), step 3).
|
||||
- **A `WARN` that the machine-data backup failed?** The commit and the push stand, and `publish`
|
||||
exited 0. Show the user the line - it names the reason, a synced folder that is not there or not
|
||||
writable, say. Do **not** run `publish` again: it would have nothing to push and back nothing up.
|
||||
Once the user has fixed the cause, `tools/wikitool backup run` repeats the backup
|
||||
([docs/how-to/back-up-to-a-synced-folder.md](../docs/how-to/back-up-to-a-synced-folder.md)).
|
||||
- **Query or lint pass?** Neither auto-publishes. Run `publish` only if asked to.
|
||||
- **Nothing under `kb/` changed?** Skip steps 1 and 2; a change to `tools/` or `instructions/`
|
||||
does not affect the catalog.
|
||||
|
||||
@@ -122,6 +122,14 @@ one it needs before that.
|
||||
- Not given: stay local - then **every** later `tools/wikitool publish` needs a `--no-push`
|
||||
(which also drops its branch check, see step 1). Without it, `publish` ends with exit 1
|
||||
before it commits anything, because there is no remote to publish to.
|
||||
- No git server, but a folder a sync client uploads (OneDrive and the like): offer a backup
|
||||
into it. The working tree stays where it is - outside that folder - and a bare repository in
|
||||
the folder becomes `origin`, with the files of this machine that are not in git mirrored
|
||||
beside it. The user writes the `backup` section of `.wikitool-local.json` by hand (its
|
||||
fields are gates, so `config set` refuses them); then run `tools/wikitool backup init` and
|
||||
show the user any `remotes.allowed_push_urls` entry it prints, for them to add. The whole
|
||||
procedure is [docs/how-to/back-up-to-a-synced-folder.md](../docs/how-to/back-up-to-a-synced-folder.md).
|
||||
Until it is done, treat the instance as local.
|
||||
|
||||
4. **Decision point - authoring conventions.** The release ships no filled-in conventions, only
|
||||
`kb/CONVENTIONS.md.template` and one `kb/<name>/COLLECTION.md.template` per collection. Both
|
||||
|
||||
Reference in new issue
Block a user