Help us shape the future of Go! Take the 2026 Go Developer Survey

seed

command
v1.6.16 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 24, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Command seed makes nova-sprint's seed tree from a nova-tools checkout, by the rules in tools/seed/RECIPE: the sprint's packages are moved whole, the nova-tools packages they import are copied with their import specs rewritten to this module, and the sprint's docs and TLA+ models come with them.

It writes a new directory and touches nothing else; the caller commits it. The nova-tools checkout is at a release tag; a checkout at no release tag, or with uncommitted changes, is refused. The nova-tools a seeded nova-sprint needs is go.mod's requirement of it (sprint.NovaToolsRequired), the one source. A re-seed is this command and a three-way merge:

git -C ../nova-tools checkout <the release tag>
git worktree add ../seed-tree <the last seed commit>
go run ./tools/seed -from ../nova-tools -keep . -out ../seed-new
rsync -a --delete --exclude=.git ../seed-new/ ../seed-tree/
(cd ../seed-tree && go mod tidy && git add -A && git commit)
git checkout -b <branch> main && git cherry-pick <that commit>

The cherry-pick carries nova-tools' changes since the last seed onto main and keeps nova-sprint's own; where both touched a line, git stops and asks.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL