git: do not show warnings if project does not use git

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
pull/1477/head
Tonis Tiigi 2 years ago
parent 0d1fea8134
commit 551b8f6785
No known key found for this signature in database
GPG Key ID: AFA9DE5F8AB7AF39

@ -52,13 +52,16 @@ func getGitAttributes(ctx context.Context, contextPath string, dockerfilePath st
gitc, err := gitutil.New(gitutil.WithContext(ctx), gitutil.WithWorkingDir(wd)) gitc, err := gitutil.New(gitutil.WithContext(ctx), gitutil.WithWorkingDir(wd))
if err != nil { if err != nil {
if st, err := os.Stat(path.Join(wd, ".git")); err == nil && st.IsDir() { if st, err := os.Stat(path.Join(wd, ".git")); err == nil && st.IsDir() {
return res, errors.New("No git was found in the system. Current commit information was not captured by the build.") return res, errors.New("git was not found in the system. Current commit information was not captured by the build")
} }
return return
} }
if !gitc.IsInsideWorkTree() { if !gitc.IsInsideWorkTree() {
return res, errors.New("Not inside a git repository") if st, err := os.Stat(path.Join(wd, ".git")); err == nil && st.IsDir() {
return res, errors.New("failed to read current commit information with git rev-parse --is-inside-work-tree")
}
return res, nil
} }
if sha, err := gitc.FullCommit(); err != nil { if sha, err := gitc.FullCommit(); err != nil {

@ -31,7 +31,7 @@ func setupTest(tb testing.TB) {
func TestGetGitAttributesNotGitRepo(t *testing.T) { func TestGetGitAttributesNotGitRepo(t *testing.T) {
_, err := getGitAttributes(context.Background(), t.TempDir(), "Dockerfile") _, err := getGitAttributes(context.Background(), t.TempDir(), "Dockerfile")
assert.Error(t, err) assert.NoError(t, err)
} }
func TestGetGitAttributesBadGitRepo(t *testing.T) { func TestGetGitAttributesBadGitRepo(t *testing.T) {

Loading…
Cancel
Save