rewrite: Minor cleanups

This commit is contained in:
Michael Eischer 2023-12-24 15:03:45 +01:00
parent 2730d05fce
commit c31f5f986c
2 changed files with 7 additions and 10 deletions

View File

@ -62,7 +62,7 @@ func (sma snapshotMetadataArgs) empty() bool {
} }
func (sma snapshotMetadataArgs) convert() (*snapshotMetadata, error) { func (sma snapshotMetadataArgs) convert() (*snapshotMetadata, error) {
if sma.Time == "" && sma.Hostname == "" { if sma.empty() {
return nil, nil return nil, nil
} }
@ -73,11 +73,8 @@ func (sma snapshotMetadataArgs) convert() (*snapshotMetadata, error) {
return nil, errors.Fatalf("error in time option: %v\n", err) return nil, errors.Fatalf("error in time option: %v\n", err)
} }
timeStamp = &t timeStamp = &t
} else {
timeStamp = nil
} }
return &snapshotMetadata{Hostname: sma.Hostname, Time: timeStamp}, nil return &snapshotMetadata{Hostname: sma.Hostname, Time: timeStamp}, nil
} }
// RewriteOptions collects all options for the rewrite command. // RewriteOptions collects all options for the rewrite command.
@ -85,7 +82,7 @@ type RewriteOptions struct {
Forget bool Forget bool
DryRun bool DryRun bool
metadata snapshotMetadataArgs Metadata snapshotMetadataArgs
restic.SnapshotFilter restic.SnapshotFilter
excludePatternOptions excludePatternOptions
} }
@ -98,8 +95,8 @@ func init() {
f := cmdRewrite.Flags() f := cmdRewrite.Flags()
f.BoolVarP(&rewriteOptions.Forget, "forget", "", false, "remove original snapshots after creating new ones") f.BoolVarP(&rewriteOptions.Forget, "forget", "", false, "remove original snapshots after creating new ones")
f.BoolVarP(&rewriteOptions.DryRun, "dry-run", "n", false, "do not do anything, just print what would be done") f.BoolVarP(&rewriteOptions.DryRun, "dry-run", "n", false, "do not do anything, just print what would be done")
f.StringVar(&rewriteOptions.metadata.Hostname, "new-host", "", "replace hostname") f.StringVar(&rewriteOptions.Metadata.Hostname, "new-host", "", "replace hostname")
f.StringVar(&rewriteOptions.metadata.Time, "new-time", "", "replace time of the backup") f.StringVar(&rewriteOptions.Metadata.Time, "new-time", "", "replace time of the backup")
initMultiSnapshotFilter(f, &rewriteOptions.SnapshotFilter, true) initMultiSnapshotFilter(f, &rewriteOptions.SnapshotFilter, true)
initExcludePatternOptions(f, &rewriteOptions.excludePatternOptions) initExcludePatternOptions(f, &rewriteOptions.excludePatternOptions)
@ -117,7 +114,7 @@ func rewriteSnapshot(ctx context.Context, repo *repository.Repository, sn *resti
return false, err return false, err
} }
metadata, err := opts.metadata.convert() metadata, err := opts.Metadata.convert()
if err != nil { if err != nil {
return false, err return false, err
@ -255,7 +252,7 @@ func filterAndReplaceSnapshot(ctx context.Context, repo restic.Repository, sn *r
} }
func runRewrite(ctx context.Context, opts RewriteOptions, gopts GlobalOptions, args []string) error { func runRewrite(ctx context.Context, opts RewriteOptions, gopts GlobalOptions, args []string) error {
if opts.excludePatternOptions.Empty() && opts.metadata.empty() { if opts.excludePatternOptions.Empty() && opts.Metadata.empty() {
return errors.Fatal("Nothing to do: no excludes provided and no new metadata provided") return errors.Fatal("Nothing to do: no excludes provided and no new metadata provided")
} }

View File

@ -15,7 +15,7 @@ func testRunRewriteExclude(t testing.TB, gopts GlobalOptions, excludes []string,
Excludes: excludes, Excludes: excludes,
}, },
Forget: forget, Forget: forget,
metadata: metadata, Metadata: metadata,
} }
rtest.OK(t, runRewrite(context.TODO(), opts, gopts, nil)) rtest.OK(t, runRewrite(context.TODO(), opts, gopts, nil))