package migrations import ( "context" "github.com/restic/restic/internal/restic" ) // Migration implements a data migration. type Migration interface { // Check returns true if the migration can be applied to a repo. If the option is not applicable it can return a specific reason. Check(context.Context, restic.Repository) (bool, string, error) RepoCheck() bool // Apply runs the migration. Apply(context.Context, restic.Repository) error // Name returns a short name. Name() string // Descr returns a description what the migration does. Desc() string }