Preserve replacement selectors during recovery
This commit is contained in:
@@ -12,8 +12,10 @@ For CLI publication recovery, the package selects a registered module tool or
|
||||
prepares a durable private module root for an API-only consumer. Go's module
|
||||
graph query includes transitive dependencies; preparation retains module
|
||||
requirements, versioned replacements, and checksums. Local replacements resolve
|
||||
against their original module directory before relocation. The original main
|
||||
module remains a local replacement, including when releasing ReleaseKit itself.
|
||||
against their original module directory before relocation. Each relocation
|
||||
updates the directive's destination and retains its path and version selector.
|
||||
The original main module remains a local replacement, including when releasing
|
||||
ReleaseKit itself.
|
||||
The private root provides tool resolution independently of consumer vendoring.
|
||||
API-only preparation discovers the host target for dependency inspection. The
|
||||
returned invocation carries its directory and tool arguments; the CLI's later
|
||||
|
||||
@@ -172,6 +172,8 @@ and a new module-selection defect in the smoke recipe.
|
||||
|
||||
### Relocate recovery replacements in one pass without merging selectors
|
||||
|
||||
**Completed.** Recovery rewrites relative destinations in one pass. The CLI regression verifies both selectors, the selected tool, the rejected-push status, and later reconciliation.
|
||||
|
||||
**Evidence:** The API-only path in
|
||||
[`RecoveryTool`](../../internal/gotool/recovery.go) walks the parsed
|
||||
`go.mod` replacements. It calls `modfile.AddReplace` for each relative
|
||||
|
||||
Reference in New Issue
Block a user