diff options
author | James Fargher <jfargher@gitlab.com> | 2023-04-14 01:12:24 +0300 |
---|---|---|
committer | James Fargher <jfargher@gitlab.com> | 2023-04-14 06:52:27 +0300 |
commit | 35af98d95a0faa3fc28b6d1a5f51937b48a5c7ff (patch) | |
tree | 61256ce84e7e96f7543a6ef5a70f1663be6d8117 | |
parent | 65575adf7706dbcc143f47ab22e3b69fb257a102 (diff) |
backup: Tidy up error messages
-rw-r--r-- | internal/backup/backup.go | 34 | ||||
-rw-r--r-- | internal/backup/backup_test.go | 2 |
2 files changed, 24 insertions, 12 deletions
diff --git a/internal/backup/backup.go b/internal/backup/backup.go index dcaef9ad4..92358fea6 100644 --- a/internal/backup/backup.go +++ b/internal/backup/backup.go @@ -205,10 +205,10 @@ func (mgr *Manager) Create(ctx context.Context, req *CreateRequest) error { return fmt.Errorf("manager: %w", err) } if err := mgr.writeBundle(ctx, repo, step, refs); err != nil { - return fmt.Errorf("manager: write bundle: %w", err) + return fmt.Errorf("manager: %w", err) } if err := mgr.writeCustomHooks(ctx, repo, step.CustomHooksPath); err != nil { - return fmt.Errorf("manager: write custom hooks: %w", err) + return fmt.Errorf("manager: %w", err) } if err := mgr.locator.Commit(ctx, step); err != nil { @@ -279,7 +279,11 @@ func setContextServerInfo(ctx context.Context, server *storage.ServerInfo, stora var err error *server, err = storage.ExtractGitalyServer(ctx, storageName) - return err + if err != nil { + return fmt.Errorf("set context server info: %w", err) + } + + return nil } func (mgr *Manager) removeRepository(ctx context.Context, server storage.ServerInfo, repo *gitalypb.Repository) error { @@ -311,12 +315,20 @@ func (mgr *Manager) createRepository(ctx context.Context, server storage.ServerI func (mgr *Manager) writeBundle(ctx context.Context, repo Repository, step *Step, refs []git.Reference) (returnErr error) { negatedRefs, err := mgr.negatedKnownRefs(ctx, step) if err != nil { - return err + return fmt.Errorf("write bundle: %w", err) } - defer negatedRefs.Close() + defer func() { + if err := negatedRefs.Close(); err != nil && returnErr == nil { + returnErr = fmt.Errorf("write bundle: %w", err) + } + }() patternReader, patternWriter := io.Pipe() - defer patternReader.Close() + defer func() { + if err := patternReader.Close(); err != nil && returnErr == nil { + returnErr = fmt.Errorf("write bundle: %w", err) + } + }() go func() { defer patternWriter.Close() @@ -334,15 +346,15 @@ func (mgr *Manager) writeBundle(ctx context.Context, repo Repository, step *Step }) defer func() { if err := w.Close(); err != nil && returnErr == nil { - returnErr = err + returnErr = fmt.Errorf("write bundle: %w", err) } }() if err := repo.CreateBundle(ctx, w, io.MultiReader(negatedRefs, patternReader)); err != nil { if errors.Is(err, errEmptyBundle) { - return fmt.Errorf("%T write: %w: no changes to bundle", mgr.sink, ErrSkipped) + return fmt.Errorf("write bundle: %w: no changes to bundle", ErrSkipped) } - return fmt.Errorf("%T write: %w", mgr.sink, err) + return fmt.Errorf("write bundle: %w", err) } return nil @@ -447,13 +459,13 @@ func (mgr *Manager) restoreBundle(ctx context.Context, path string, server stora func (mgr *Manager) writeCustomHooks(ctx context.Context, repo Repository, path string) error { hooks, err := repo.GetCustomHooks(ctx) if err != nil { - return err + return fmt.Errorf("write custom hooks: %w", err) } w := NewLazyWriter(func() (io.WriteCloser, error) { return mgr.sink.GetWriter(ctx, path) }) if _, err := io.Copy(w, hooks); err != nil { - return fmt.Errorf("%T write: %w", mgr.sink, err) + return fmt.Errorf("write custom hooks: %w", err) } return nil } diff --git a/internal/backup/backup_test.go b/internal/backup/backup_test.go index aee48ca64..40d0c167d 100644 --- a/internal/backup/backup_test.go +++ b/internal/backup/backup_test.go @@ -227,7 +227,7 @@ func TestManager_Create_incremental(t *testing.T) { return repo, repoPath }, - expectedErr: fmt.Errorf("manager: write bundle: %w", fmt.Errorf("*backup.FilesystemSink write: %w: no changes to bundle", backup.ErrSkipped)), + expectedErr: fmt.Errorf("manager: %w", fmt.Errorf("write bundle: %w: no changes to bundle", backup.ErrSkipped)), }, { desc: "previous backup, updates", |