Skip to content

Commit

Permalink
Fix git-init in case master is not the default branch
Browse files Browse the repository at this point in the history
This fix will patch the `git-init` such that if user doesn't provides revision then instead of taking `master` as the default branch we are doing the `symbolic-link` to the HEAD branch.

Signed-off-by: vinamra28 <[email protected]>
  • Loading branch information
vinamra28 committed Jun 20, 2020
1 parent a7ce319 commit 12d3a8c
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 3 deletions.
38 changes: 38 additions & 0 deletions pkg/apis/resource/v1alpha1/git/git_resource_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -675,6 +675,44 @@ func TestGitResource_GetDownloadTaskModifier(t *testing.T) {
{Name: "NO_PROXY", Value: "no-proxy.git.com"},
},
},
}, {
desc: "Without Refspec and without revision",
gitResource: &git.Resource{
Name: "git-resource",
Type: resourcev1alpha1.PipelineResourceTypeGit,
URL: "[email protected]:test/test.git",
Revision: "",
Refspec: "",
GitImage: "override-with-git:latest",
Submodules: false,
Depth: 1,
SSLVerify: true,
HTTPProxy: "http-proxy.git.com",
HTTPSProxy: "https-proxy.git.com",
NOProxy: "no-proxy.git.com",
},
want: corev1.Container{
Name: "git-source-git-resource-twkr2",
Image: "override-with-git:latest",
Command: []string{"/ko-app/git-init"},
Args: []string{
"-url",
"[email protected]:test/test.git",
"-revision",
"",
"-path",
"/test/test",
"-submodules=false",
},
WorkingDir: "/workspace",
Env: []corev1.EnvVar{
{Name: "TEKTON_RESOURCE_NAME", Value: "git-resource"},
{Name: "HOME", Value: pipeline.HomeDir},
{Name: "HTTP_PROXY", Value: "http-proxy.git.com"},
{Name: "HTTPS_PROXY", Value: "https-proxy.git.com"},
{Name: "NO_PROXY", Value: "no-proxy.git.com"},
},
},
}} {
t.Run(tc.desc, func(t *testing.T) {
ts := v1beta1.TaskSpec{}
Expand Down
9 changes: 6 additions & 3 deletions pkg/git/git.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,6 @@ func Fetch(logger *zap.SugaredLogger, spec FetchSpec) error {
return err
}

if spec.Revision == "" {
spec.Revision = "master"
}
if spec.Path != "" {
if _, err := run(logger, "", "init", spec.Path); err != nil {
return err
Expand All @@ -85,6 +82,12 @@ func Fetch(logger *zap.SugaredLogger, spec FetchSpec) error {
logger.Warnf("Failed to set http.sslVerify in git config: %s", err)
return err
}
if spec.Revision == "" {
spec.Revision = "HEAD"
if _, err := run(logger, "", "symbolic-ref", spec.Revision, "refs/remotes/origin/HEAD"); err != nil {
return err
}
}

fetchArgs := []string{"fetch"}
if spec.Submodules {
Expand Down

0 comments on commit 12d3a8c

Please sign in to comment.