From 9d7bd4d4bded83428a39dda358eef19e98e42f23 Mon Sep 17 00:00:00 2001 From: andrew2nelson Date: Wed, 2 Sep 2020 13:38:42 -0700 Subject: Fetch should return a unique error type when ref not found It can be useful for callers to distinguish between an error of "couldn't find remote ref" and some other error like "network error". Creating an explicit error type for this allows consumers to determine the kind of error using the errors.Is and errors.As interface added in go1.13 --- remote_test.go | 2 ++ 1 file changed, 2 insertions(+) (limited to 'remote_test.go') diff --git a/remote_test.go b/remote_test.go index c6ea9ea..3446f1a 100644 --- a/remote_test.go +++ b/remote_test.go @@ -3,6 +3,7 @@ package git import ( "bytes" "context" + "errors" "io" "io/ioutil" "os" @@ -145,6 +146,7 @@ func (s *RemoteSuite) TestFetchNonExistantReference(c *C) { }) c.Assert(err, ErrorMatches, "couldn't find remote ref.*") + c.Assert(errors.Is(err, NoMatchingRefSpecError{}), Equals, true) } func (s *RemoteSuite) TestFetchContext(c *C) { -- cgit