move GITGetter to GitGetter

Signed-off-by: yxxhero <aiopsclub@163.com>
pull/11258/head
yxxhero 4 years ago
parent 4d3726dc77
commit 18666c1b79

@ -91,6 +91,9 @@ func CompressDirToTgz(chartTmpDir, tmpdir string) (*bytes.Buffer, error) {
// (see https://golang.org/src/archive/tar/common.go?#L626) // (see https://golang.org/src/archive/tar/common.go?#L626)
header.Name = strings.TrimPrefix(filepath.ToSlash(file), tmpdir+"/") header.Name = strings.TrimPrefix(filepath.ToSlash(file), tmpdir+"/")
header.ModTime = time.Date(1977, time.May, 25, 0, 0, 0, 0, time.UTC) header.ModTime = time.Date(1977, time.May, 25, 0, 0, 0, 0, time.UTC)
header.AccessTime = time.Date(1977, time.May, 25, 0, 0, 0, 0, time.UTC)
header.ChangeTime = time.Date(1977, time.May, 25, 0, 0, 0, 0, time.UTC)
header.Format = tar.FormatGNU
// write header // write header
if err := tw.WriteHeader(header); err != nil { if err := tw.WriteHeader(header); err != nil {

@ -63,8 +63,8 @@ func TestCompressDirToTgz(t *testing.T) {
testDataDir := "testdata" testDataDir := "testdata"
chartTestDir := "testdata/helmchart" chartTestDir := "testdata/helmchart"
expectMd5Value := "47e407d2251866226cb7df4c44028091" expectMd5Value := "218a88e89fa53efc6dd56aab27159880"
expectChartBytesLen := 3990 expectChartBytesLen := 3998
chartBytes, err := CompressDirToTgz(chartTestDir, testDataDir) chartBytes, err := CompressDirToTgz(chartTestDir, testDataDir)
if err != nil { if err != nil {

@ -118,7 +118,7 @@ func (c *ChartDownloader) DownloadTo(ref, version, dest string) (string, *proven
name = fmt.Sprintf("%s-%s.tgz", name[:idx], name[idx+1:]) name = fmt.Sprintf("%s-%s.tgz", name[:idx], name[idx+1:])
} }
if scheme == "git" { if scheme == "git" {
gitGetter, ok := g.(*getter.GITGetter) gitGetter, ok := g.(*getter.GitGetter)
if !ok { if !ok {
return "", nil, fmt.Errorf("can't convert to GITGetter") return "", nil, fmt.Errorf("can't convert to GITGetter")
} }

@ -190,7 +190,7 @@ var ociProvider = Provider{
var gitProvider = Provider{ var gitProvider = Provider{
Schemes: []string{"git"}, Schemes: []string{"git"},
New: NewGITGetter, New: NewGitGetter,
} }
// All finds all of the registered getters as a list of Provider instances. // All finds all of the registered getters as a list of Provider instances.

@ -30,18 +30,18 @@ import (
// Assigned here so it can be overridden for testing. // Assigned here so it can be overridden for testing.
var gitCloneTo = gitutil.CloneTo var gitCloneTo = gitutil.CloneTo
// GITGetter is the default HTTP(/S) backend handler // GitGetter is the default HTTP(/S) backend handler
type GITGetter struct { type GitGetter struct {
opts options opts options
} }
func (g *GITGetter) ChartName() string { func (g *GitGetter) ChartName() string {
return g.opts.chartName return g.opts.chartName
} }
// ensureGitDirIgnored will append ".git/" to the .helmignore file in a directory. // ensureGitDirIgnored will append ".git/" to the .helmignore file in a directory.
// Create the .helmignore file if it does not exist. // Create the .helmignore file if it does not exist.
func (g *GITGetter) ensureGitDirIgnored(repoPath string) error { func (g *GitGetter) ensureGitDirIgnored(repoPath string) error {
helmignorePath := filepath.Join(repoPath, ".helmignore") helmignorePath := filepath.Join(repoPath, ".helmignore")
f, err := os.OpenFile(helmignorePath, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) f, err := os.OpenFile(helmignorePath, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil { if err != nil {
@ -55,14 +55,14 @@ func (g *GITGetter) ensureGitDirIgnored(repoPath string) error {
} }
//Get performs a Get from repo.Getter and returns the body. //Get performs a Get from repo.Getter and returns the body.
func (g *GITGetter) Get(href string, options ...Option) (*bytes.Buffer, error) { func (g *GitGetter) Get(href string, options ...Option) (*bytes.Buffer, error) {
for _, opt := range options { for _, opt := range options {
opt(&g.opts) opt(&g.opts)
} }
return g.get(href) return g.get(href)
} }
func (g *GITGetter) get(href string) (*bytes.Buffer, error) { func (g *GitGetter) get(href string) (*bytes.Buffer, error) {
gitURL := strings.TrimPrefix(href, "git://") gitURL := strings.TrimPrefix(href, "git://")
version := g.opts.version version := g.opts.version
chartName := g.opts.chartName chartName := g.opts.chartName
@ -96,10 +96,10 @@ func (g *GITGetter) get(href string) (*bytes.Buffer, error) {
return buf, nil return buf, nil
} }
// NewGITGetter constructs a valid git client as a Getter // NewGitGetter constructs a valid git client as a Getter
func NewGITGetter(ops ...Option) (Getter, error) { func NewGitGetter(ops ...Option) (Getter, error) {
client := GITGetter{} client := GitGetter{}
for _, opt := range ops { for _, opt := range ops {
opt(&client.opts) opt(&client.opts)

@ -20,12 +20,12 @@ import (
) )
func TestNewGITGetter(t *testing.T) { func TestNewGITGetter(t *testing.T) {
g, err := NewGITGetter() g, err := NewGitGetter()
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
if _, ok := g.(*GITGetter); !ok { if _, ok := g.(*GitGetter); !ok {
t.Fatal("Expected NewGITGetter to produce an *GITGetter") t.Fatal("Expected NewGITGetter to produce an *GITGetter")
} }
} }

Loading…
Cancel
Save