Skip to content
zit Check-in [add51a12d2]
Login

Check-in [add51a12d2]

Overview
Comment:import-git: record a project code; verify notes a store without one

import-git wrote no project code, so every sync peer and forge refused the store it made. It now derives one from the destination's absolute path, as init does, and the import request requires it. verify notes a repository with no project code without counting it as damage.

Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: add51a12d29bc0b14c4b84bf14e0d064e63ff60601b532063451fd38a40113de
User & Date: dmestas on 2026-09-28 02:59:11.543
Other Links: manifest | tags
Context
2026-09-28
11:59
Lock the store with exclusive-create lock files instead of flock

Writers create .zit.lock with O_CREAT|O_EXCL before opening the store. A waiter names the holder and gives up after a minute; a dead holder's lock is broken; pack and shun --force hold the writer lock across their final check and rename. Release 0.3.33. check-in: d6cf7bf59c user: dmestas tags: trunk, version-0.3.33

02:59
import-git: record a project code; verify notes a store without one

import-git wrote no project code, so every sync peer and forge refused the store it made. It now derives one from the destination's absolute path, as init does, and the import request requires it. verify notes a repository with no project code without counting it as damage. check-in: add51a12d2 user: dmestas tags: trunk

02:39
Take the writer lock inside LogStore.open and test the lock class

LogStore.open now takes the exclusive lock before it reads the file's length and scans for the end, and a read-only handle refuses to append. purge undo opens the store through the shared writer path.

A new DST sweep runs two to four writers interleaved against one log through a file that models the lock. It flags unlocked or misplaced appends as they happen, checks each writer sees everything committed before it locked and reads back its own writes, including deltas. A source check fails on any write-mode open of the store outside openStoreAppend. An e2e test races commits, tags and user-table writes on one store and counts what landed. check-in: 5c445bb3f3 user: dmestas tags: trunk, version-0.3.32

Changes