aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/vcs
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2019-10-22 15:57:26 +0200
committerDmitry Vyukov <dvyukov@google.com>2019-10-22 15:57:26 +0200
commit788abb174fbfb428dfaeaf3424bd142a807c89e4 (patch)
treedefd66a2739ba54da673f6e50d4afcc7b9462d94 /pkg/vcs
parent084e388155d4ea60d54e44b90cd10eef660a5b76 (diff)
pkg/vcs: detect old git binary that can't do bisection
Diffstat (limited to 'pkg/vcs')
-rw-r--r--pkg/vcs/test_util.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/pkg/vcs/test_util.go b/pkg/vcs/test_util.go
index 55bd7bccd..148360a08 100644
--- a/pkg/vcs/test_util.go
+++ b/pkg/vcs/test_util.go
@@ -3,6 +3,7 @@ package vcs
import (
"fmt"
"path/filepath"
+ "strings"
"testing"
"time"
@@ -82,6 +83,14 @@ func (repo *TestRepo) SetTag(tag string) {
repo.git("tag", tag)
}
+func (repo *TestRepo) SupportsBisection() bool {
+ // Detect too old git binary. --no-contains appeared in git 2.13.
+ _, err := repo.repo.previousReleaseTags("HEAD", true)
+ return err == nil ||
+ !strings.Contains(err.Error(), "usage: git tag") &&
+ !strings.Contains(err.Error(), "error: unknown option")
+}
+
func CreateTestRepo(t *testing.T, baseDir, name string) *TestRepo {
repo := MakeTestRepo(t, filepath.Join(baseDir, name))
repo.git("checkout", "-b", "master")