You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
writ adopt needs a registered repository and no deployment: on a fresh install it refuses for want of a deployment, and would adopt into self install's placeholder #1018
writ adopt --project common ~/.zshrc passes validation, because the placeholder exists (parseAdoptConfig, cmd/writ/writ/config.go), then refuses with 66 for want of a current lifetime (RunBatches, cmd/writ/writ/adopt/batch.go:97). Nothing moves.
The guide's advice, deploy first, is a dead end. The placeholders hold no scope directory, so deploy falls back to writ.repo, which is unset, and refuses: "no layer configured; use 'writ migrate ' ...".
With the deployment requirement lifted alone
Adopt would move the file into the placeholder -- a plain directory in writ's data home, not the user's repository -- link it back, and write the first lifetime. Then:
the adopted file is under no version control;
writ deploy fails pinning the layer, because git status fails outside a repository;
writ repo set personal <repo> refuses to replace the placeholder, which is no longer empty (writeRegistration, cmd/writ/writ/repo_cmd.go: os.Remove on a directory with content). Nothing is lost, and nothing says what to do.
Resolution
Adopt requires a registered repository. The layer it adopts into must be a registration: a link writ repo set wrote, to a working tree. A placeholder or a missing layer is refused, with a message naming writ repo set <layer> <working-tree-root>, and writ migrate for an existing dotfiles repository.
Activity
docs(lifecycle): lifetimes are generations: writ follows git and Nix
feat(writ): the operations honor --scope, and a scoped deploy keeps t…