diff options
author | Alexey Smirnov <unlinkat@gmail.com> | 2019-02-07 14:48:32 +0500 |
---|---|---|
committer | Alexey Smirnov <unlinkat@gmail.com> | 2019-02-07 14:48:32 +0500 |
commit | cf6cf0d4b77386acbc4b742ab2cb471b2206f5ae (patch) | |
tree | 494c22eb8c3b678e2f926614ef7d54fa46cbf663 | |
parent | 00629a1f26e668d0da503455e2a61d7107da3160 (diff) | |
download | go-git-cf6cf0d4b77386acbc4b742ab2cb471b2206f5ae.tar.gz |
worktree: add sentinel error for non-fast-forward pull
Signed-off-by: Alexey Smirnov <unlinkat@gmail.com>
-rw-r--r-- | worktree.go | 11 | ||||
-rw-r--r-- | worktree_test.go | 2 |
2 files changed, 7 insertions, 6 deletions
diff --git a/worktree.go b/worktree.go index e45d815..a14fd8d 100644 --- a/worktree.go +++ b/worktree.go @@ -25,10 +25,11 @@ import ( ) var ( - ErrWorktreeNotClean = errors.New("worktree is not clean") - ErrSubmoduleNotFound = errors.New("submodule not found") - ErrUnstagedChanges = errors.New("worktree contains unstaged changes") - ErrGitModulesSymlink = errors.New(gitmodulesFile + " is a symlink") + ErrWorktreeNotClean = errors.New("worktree is not clean") + ErrSubmoduleNotFound = errors.New("submodule not found") + ErrUnstagedChanges = errors.New("worktree contains unstaged changes") + ErrGitModulesSymlink = errors.New(gitmodulesFile + " is a symlink") + ErrNonFastForwardUpdate = errors.New("non-fast-forward update") ) // Worktree represents a git worktree. @@ -101,7 +102,7 @@ func (w *Worktree) PullContext(ctx context.Context, o *PullOptions) error { } if !ff { - return fmt.Errorf("non-fast-forward update") + return ErrNonFastForwardUpdate } } diff --git a/worktree_test.go b/worktree_test.go index c714011..26b7da0 100644 --- a/worktree_test.go +++ b/worktree_test.go @@ -119,7 +119,7 @@ func (s *WorktreeSuite) TestPullNonFastForward(c *C) { c.Assert(err, IsNil) err = w.Pull(&PullOptions{}) - c.Assert(err, ErrorMatches, "non-fast-forward update") + c.Assert(err, Equals, ErrNonFastForwardUpdate) } func (s *WorktreeSuite) TestPullUpdateReferencesIfNeeded(c *C) { |