Add git path overrides

This commit is contained in:
André Eriksson 2014-05-29 15:27:50 +02:00
parent c8a7b819cd
commit 81b6a6d1c8
2 changed files with 13 additions and 5 deletions

View file

@ -13,10 +13,7 @@ type Git struct {
Depth *int `yaml:"depth,omitempty"` Depth *int `yaml:"depth,omitempty"`
// The name of a directory to clone into. // The name of a directory to clone into.
// TODO this still needs to be implemented. this field is Path *string `yaml:"path,omitempty"`
// critical for forked Go projects, that need to clone
// to a specific repository.
Path string `yaml:"path,omitempty"`
} }
// GitDepth returns GitDefaultDepth // GitDepth returns GitDefaultDepth
@ -29,3 +26,14 @@ func GitDepth(g *Git) int {
} }
return *g.Depth return *g.Depth
} }
// GitPath returns the given default path
// when Git.Path is empty.
// GitPath returns Git.Path
// when it is not empty.
func GitPath(g *Git, defaultPath string) string {
if g == nil || g.Path == nil {
return defaultPath
}
return *g.Path
}

View file

@ -184,7 +184,7 @@ func (w *worker) runBuild(task *BuildTask, buildscript *script.Build, buf io.Wri
Branch: task.Commit.Branch, Branch: task.Commit.Branch,
Commit: task.Commit.Hash, Commit: task.Commit.Hash,
PR: task.Commit.PullRequest, PR: task.Commit.PullRequest,
Dir: filepath.Join("/var/cache/drone/src", task.Repo.Slug), Dir: filepath.Join("/var/cache/drone/src", git.GitPath(buildscript.Git, task.Repo.Slug)),
Depth: git.GitDepth(buildscript.Git), Depth: git.GitDepth(buildscript.Git),
} }