Merge "jiri-test/internal/test: Matching change for v.io/c/20980"
diff --git a/jiri-profile-v23/go_profile/go.go b/jiri-profile-v23/go_profile/go.go
index bed4eb2..b7af619 100644
--- a/jiri-profile-v23/go_profile/go.go
+++ b/jiri-profile-v23/go_profile/go.go
@@ -336,7 +336,7 @@
}
defer jirix.NewSeq().RemoveAll(tmpDir)
- name := "go1.4.2.src.tar.gz"
+ name := "go1.4.3.src.tar.gz"
remote, local := "https://storage.googleapis.com/golang/"+name, filepath.Join(tmpDir, name)
parentDir := filepath.Dir(go14Dir)
goSrcDir := filepath.Join(go14Dir, "src")
diff --git a/jiri-test/internal/test/github.go b/jiri-test/internal/test/github.go
index 6747212..5ed0522 100644
--- a/jiri-test/internal/test/github.go
+++ b/jiri-test/internal/test/github.go
@@ -219,7 +219,8 @@
suite := xunit.TestSuite{Name: mirror.name}
dirname := filepath.Join(projects, mirror.name)
- // If dirname does not exist `git clone` otherwise `git pull`.
+ // If dirname does not exist `git clone` otherwise `git fetch` and
+ // `git reset --hard origin/master`.
if _, err := jirix.NewSeq().Stat(dirname); err != nil {
if !runutil.IsNotExist(err) {
return nil, newInternalError(err, "stat")
@@ -232,8 +233,8 @@
}
suite.Cases = append(suite.Cases, *testCase)
} else {
- err := pull(jirix, mirror, projects)
- testCase := makeTestCase("pull", err)
+ err := reset(jirix, mirror, projects)
+ testCase := makeTestCase("reset", err)
if err != nil {
suite.Failures++
}
@@ -272,10 +273,18 @@
return gitutil.New(jirix.NewSeq()).CloneRecursive(mirror.googlesource, dirname)
}
-func pull(jirix *jiri.X, mirror Mirror, projects string) error {
+func reset(jirix *jiri.X, mirror Mirror, projects string) error {
dirname := filepath.Join(projects, mirror.name)
- opts := gitutil.RootDirOpt(dirname)
- return gitutil.New(jirix.NewSeq(), opts).Pull("origin", "master")
+ rootOpt := gitutil.RootDirOpt(dirname)
+ git := gitutil.New(jirix.NewSeq(), rootOpt)
+
+ // Fetch master branch from origin.
+ if err := git.FetchRefspec("origin", "master"); err != nil {
+ return err
+ }
+
+ // Reset local master to origin/master.
+ return git.Reset("origin/master")
}
func push(jirix *jiri.X, mirror Mirror, projects string) error {
diff --git a/vbinary/cmd.go b/vbinary/cmd.go
index fa7663f..57e496a 100644
--- a/vbinary/cmd.go
+++ b/vbinary/cmd.go
@@ -41,6 +41,9 @@
maxParallelDownloads int
waitTimeBetweenAttempts = 3 * time.Minute
+
+ createClientAttempts = 5
+ waitTimeBetweenCreateClientAttempts = 1 * time.Minute
)
const (
@@ -333,7 +336,7 @@
}
return nil
}
- if err := retry.Function(ctx, createDefaultClientFn); err != nil {
+ if err := retry.Function(ctx, createDefaultClientFn, retry.AttemptsOpt(createClientAttempts), retry.IntervalOpt(waitTimeBetweenAttempts)); err != nil {
return nil, fmt.Errorf("failed to create default client")
}
return defaultClient, nil