Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/git/vole.git

Write over SSH with a registered key:

git clone ssh://git@0.0.0.0:2222/vole.git

A free and open-source forge that lives in your Git repo.

Drop the legacy run-record import

59badc638dde0655b11d01eebfe3a457735d2501 · Keenan Nemetz · 10d ago · parent b312e166

Drop the legacy run-record import

There is no released instance to stay compatible with, so the file format
under runs/, the branch importer, and the pre-receive allowance for that
directory are gone. The Record value is now only the finish wire format and the
shape stored in run_attempts. metadata.ValidateIssues rejects runs/ like any
other unknown directory, and vole admin index rebuild no longer reads run
history from Git.

An existing instance migrates once with the previous build, then rewrites the
vole branch to remove the old records. Nothing in this build reads them.

forge/instance.go +3−14

@@ -333,18 +333,7 @@ func (i *Instance) DeleteRepo(name, actor string) error {
333 333 return nil
334 334 }
335 335
336 // RebuildIndex reconstructs the derived repository and issue rows, then imports
337 // any run records still on the metadata branch. Records written since CI history
338 // moved into the database are already there and are never deleted.
339 func (i *Instance) RebuildIndex() (repos int, runRecords int, err error) {
340 repos, err = i.Index.Rebuild(i.Repos)
341 if err != nil {
342 return 0, 0, err
343 }
344 list, err := i.Repos.List()
345 if err != nil {
346 return repos, 0, err
347 }
348 runRecords, err = i.Runs.ImportLegacyRecords(list, "refs/heads/vole")
349 return repos, runRecords, err
336 // RebuildIndex reconstructs the derived repository and issue rows.
337 func (i *Instance) RebuildIndex() (repos int, err error) {
338 return i.Index.Rebuild(i.Repos)
350 339 }