command: Suppress prompt for init -force-copy

The -force-copy flag to init should automatically migrate state.
Previously this was not applied to one case: when migrating from
a backend with multiple workspaces to another backend supporting
multiple workspaces. I believe this was an oversight so this commit
fixes that.
This commit is contained in:
Alisdair McDiarmid 2021-08-20 14:46:09 -04:00
parent 498dc36635
commit 2762a940c0

View File

@ -146,8 +146,11 @@ func (m *Meta) backendMigrateState(opts *backendMigrateOpts) error {
func (m *Meta) backendMigrateState_S_S(opts *backendMigrateOpts) error { func (m *Meta) backendMigrateState_S_S(opts *backendMigrateOpts) error {
log.Print("[TRACE] backendMigrateState: migrating all named workspaces") log.Print("[TRACE] backendMigrateState: migrating all named workspaces")
migrate := opts.force
if !migrate {
var err error
// Ask the user if they want to migrate their existing remote state // Ask the user if they want to migrate their existing remote state
migrate, err := m.confirm(&terraform.InputOpts{ migrate, err = m.confirm(&terraform.InputOpts{
Id: "backend-migrate-multistate-to-multistate", Id: "backend-migrate-multistate-to-multistate",
Query: fmt.Sprintf( Query: fmt.Sprintf(
"Do you want to migrate all workspaces to %q?", "Do you want to migrate all workspaces to %q?",
@ -160,6 +163,7 @@ func (m *Meta) backendMigrateState_S_S(opts *backendMigrateOpts) error {
return fmt.Errorf( return fmt.Errorf(
"Error asking for state migration action: %s", err) "Error asking for state migration action: %s", err)
} }
}
if !migrate { if !migrate {
return fmt.Errorf("Migration aborted by user.") return fmt.Errorf("Migration aborted by user.")
} }