Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Fargher <jfargher@gitlab.com>2023-04-14 01:12:24 +0300
committerJames Fargher <jfargher@gitlab.com>2023-04-14 06:52:27 +0300
commit35af98d95a0faa3fc28b6d1a5f51937b48a5c7ff (patch)
tree61256ce84e7e96f7543a6ef5a70f1663be6d8117
parent65575adf7706dbcc143f47ab22e3b69fb257a102 (diff)
backup: Tidy up error messages
-rw-r--r--internal/backup/backup.go34
-rw-r--r--internal/backup/backup_test.go2
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",