From b03ad0dde1bce2b2caa63a5003842396a54691f7 Mon Sep 17 00:00:00 2001 From: jolheiser Date: Wed, 8 Jan 2020 20:43:38 -0600 Subject: [PATCH 1/2] Fix nil reference Signed-off-by: jolheiser --- models/repo_generate.go | 59 ++++++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/models/repo_generate.go b/models/repo_generate.go index 556a5fc2f72b9..fc4b632042958 100644 --- a/models/repo_generate.go +++ b/models/repo_generate.go @@ -124,41 +124,44 @@ func generateRepoCommit(e Engine, repo, templateRepo, generateRepo *Repository, return fmt.Errorf("checkGiteaTemplate: %v", err) } - if err := os.Remove(gt.Path); err != nil { - return fmt.Errorf("remove .giteatemplate: %v", err) - } + if gt != nil { - // Avoid walking tree if there are no globs - if len(gt.Globs()) > 0 { - tmpDirSlash := strings.TrimSuffix(filepath.ToSlash(tmpDir), "/") + "/" - if err := filepath.Walk(tmpDirSlash, func(path string, info os.FileInfo, walkErr error) error { - if walkErr != nil { - return walkErr - } + if err := os.Remove(gt.Path); err != nil { + return fmt.Errorf("remove .giteatemplate: %v", err) + } - if info.IsDir() { - return nil - } + // Avoid walking tree if there are no globs + if len(gt.Globs()) > 0 { + tmpDirSlash := strings.TrimSuffix(filepath.ToSlash(tmpDir), "/") + "/" + if err := filepath.Walk(tmpDirSlash, func(path string, info os.FileInfo, walkErr error) error { + if walkErr != nil { + return walkErr + } - base := strings.TrimPrefix(filepath.ToSlash(path), tmpDirSlash) - for _, g := range gt.Globs() { - if g.Match(base) { - content, err := ioutil.ReadFile(path) - if err != nil { - return err - } + if info.IsDir() { + return nil + } - if err := ioutil.WriteFile(path, - []byte(generateExpansion(string(content), templateRepo, generateRepo)), - 0644); err != nil { - return err + base := strings.TrimPrefix(filepath.ToSlash(path), tmpDirSlash) + for _, g := range gt.Globs() { + if g.Match(base) { + content, err := ioutil.ReadFile(path) + if err != nil { + return err + } + + if err := ioutil.WriteFile(path, + []byte(generateExpansion(string(content), templateRepo, generateRepo)), + 0644); err != nil { + return err + } + break } - break } + return nil + }); err != nil { + return err } - return nil - }); err != nil { - return err } } From dbe0bf11310ea68af2a105ccc77f3030589c7456 Mon Sep 17 00:00:00 2001 From: jolheiser Date: Wed, 8 Jan 2020 20:44:55 -0600 Subject: [PATCH 2/2] Tighten Signed-off-by: jolheiser --- models/repo_generate.go | 1 - 1 file changed, 1 deletion(-) diff --git a/models/repo_generate.go b/models/repo_generate.go index fc4b632042958..1b0466eaa7c8a 100644 --- a/models/repo_generate.go +++ b/models/repo_generate.go @@ -125,7 +125,6 @@ func generateRepoCommit(e Engine, repo, templateRepo, generateRepo *Repository, } if gt != nil { - if err := os.Remove(gt.Path); err != nil { return fmt.Errorf("remove .giteatemplate: %v", err) }