Allow migrate to run althoug check failed
This commit is contained in:
parent
e7577d7bb4
commit
28a4a35625
2 changed files with 14 additions and 2 deletions
|
@ -21,12 +21,15 @@ name is explicitely given, a list of migrations that can be applied is printed.
|
||||||
|
|
||||||
// MigrateOptions bundles all options for the 'check' command.
|
// MigrateOptions bundles all options for the 'check' command.
|
||||||
type MigrateOptions struct {
|
type MigrateOptions struct {
|
||||||
|
Force bool
|
||||||
}
|
}
|
||||||
|
|
||||||
var migrateOptions MigrateOptions
|
var migrateOptions MigrateOptions
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
cmdRoot.AddCommand(cmdMigrate)
|
cmdRoot.AddCommand(cmdMigrate)
|
||||||
|
f := cmdMigrate.Flags()
|
||||||
|
f.BoolVarP(&migrateOptions.Force, "force", "f", false, `apply a migration a second time`)
|
||||||
}
|
}
|
||||||
|
|
||||||
func checkMigrations(opts MigrateOptions, gopts GlobalOptions, repo restic.Repository) error {
|
func checkMigrations(opts MigrateOptions, gopts GlobalOptions, repo restic.Repository) error {
|
||||||
|
@ -59,8 +62,12 @@ func applyMigrations(opts MigrateOptions, gopts GlobalOptions, repo restic.Repos
|
||||||
}
|
}
|
||||||
|
|
||||||
if !ok {
|
if !ok {
|
||||||
Warnf("migration %v cannot be applied: check failed\n", m.Name())
|
if !opts.Force {
|
||||||
continue
|
Warnf("migration %v cannot be applied: check failed\nIf you want to apply this migration anyway, re-run with option --force\n", m.Name())
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
Warnf("check for migration %v failed, continuing anyway\n", m.Name())
|
||||||
}
|
}
|
||||||
|
|
||||||
Printf("applying migration %v...\n", m.Name())
|
Printf("applying migration %v...\n", m.Name())
|
||||||
|
|
|
@ -453,6 +453,11 @@ func (be *Backend) Rename(h restic.Handle, l backend.Layout) error {
|
||||||
oldname := be.Filename(h)
|
oldname := be.Filename(h)
|
||||||
newname := l.Filename(h)
|
newname := l.Filename(h)
|
||||||
|
|
||||||
|
if oldname == newname {
|
||||||
|
debug.Log(" %v is already renamed", newname)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
debug.Log(" %v -> %v", oldname, newname)
|
debug.Log(" %v -> %v", oldname, newname)
|
||||||
|
|
||||||
coreClient := minio.Core{Client: be.client}
|
coreClient := minio.Core{Client: be.client}
|
||||||
|
|
Loading…
Reference in a new issue