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

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
Tonis Tiigi 2022-12-15 16:51:03 -08:00
parent 0d1fea8134
commit 551b8f6785
No known key found for this signature in database
GPG Key ID: AFA9DE5F8AB7AF39
2 changed files with 6 additions and 3 deletions

View File

@ -52,13 +52,16 @@ func getGitAttributes(ctx context.Context, contextPath string, dockerfilePath st
gitc, err := gitutil.New(gitutil.WithContext(ctx), gitutil.WithWorkingDir(wd))
if err != nil {
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
}
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 {

View File

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