Expand description
What this checkout last pulled or pushed for each document of its project, so pull can
tell a file changed here from one changed on the server, and a keyed push can name the
revision it started from.
The record is .semora-state/checkout.json, next to .semora. It belongs to the folder, not
to the machine, so every worktree has its own. The folder holds a .gitignore of *, so it
never gets committed.
Structs§
- Record
- One document as this checkout last saw it.
Enums§
- Local
- What is on disk at a document’s path.
Constants§
Functions§
- ids_
under_ other_ id - The document ids of a record written for this server under another project id: the
.semorachanged under it, perhaps because another checkout followed the project to a new id and the change came in with git. Empty when the record is this project’s or absent. - load
- The records of this checkout’s project.
- local
- Reads the document at
keyas a push would: one file, or the files of a folder. - local_
rel - A path from the server as a relative path on this machine, or
Nonewhen it would leave the project folder, reach into.git,.semoraor the record, or can’t be a file name here. - move_to
- Carries the records over when the project got a new id, so pull and push still know what this folder has.
- relabel
- Files the record that was written under another id under this one, keeping its documents.
- sha256
- update
- Changes the records under a lock, so pushes and pulls in one checkout don’t lose each other’s writes.
Type Aliases§
- Records
- The records of a project, by document path.