From fdc18d60b0e0eb7c0df2cdba03e081fee3e7292c Mon Sep 17 00:00:00 2001 From: Javi Fontan Date: Fri, 30 Nov 2018 13:07:57 +0100 Subject: git: return better error message when packfile cannot be downloaded Previously the error message when the connection was closed while fetching was "object not found" and was misleading. Now when the packfile size is 0 the error "unable to fetch packfile" is returned. Signed-off-by: Javi Fontan --- repository.go | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'repository.go') diff --git a/repository.go b/repository.go index 97134ec..1f64b9f 100644 --- a/repository.go +++ b/repository.go @@ -41,6 +41,8 @@ var ( ErrTagExists = errors.New("tag already exists") // ErrTagNotFound an error stating the specified tag does not exist ErrTagNotFound = errors.New("tag not found") + // ErrFetching is returned when the packfile could not be downloaded + ErrFetching = errors.New("unable to fetch packfile") ErrInvalidReference = errors.New("invalid reference, should be a tag or a branch") ErrRepositoryNotExists = errors.New("repository does not exist") @@ -858,6 +860,8 @@ func (r *Repository) fetchAndUpdateReferences( remoteRefs, err := remote.fetch(ctx, o) if err == NoErrAlreadyUpToDate { objsUpdated = false + } else if err == packfile.ErrEmptyPackfile { + return nil, ErrFetching } else if err != nil { return nil, err } -- cgit