From 910eac0710b4b5fa6731486adda4dec098ac8aa2 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Mon, 2 Oct 2023 22:05:21 +0800 Subject: [PATCH 1/2] Fix git 2.11 error when checking IsEmpty (#27393) Fix #27389 --- modules/git/repo.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/git/repo.go b/modules/git/repo.go index 5681d39c3b717..b216ecce3d3b3 100644 --- a/modules/git/repo.go +++ b/modules/git/repo.go @@ -86,7 +86,8 @@ func (repo *Repository) IsEmpty() (bool, error) { Stdout: &output, Stderr: &errbuf, }); err != nil { - if err.Error() == "exit status 1" && errbuf.String() == "" { + if (err.Error() == "exit status 1" || err.Error() == "exit status 129") && strings.TrimSpace(errbuf.String()) == "" { + // git 2.11 exits with 129 if the repo is empty return true, nil } return true, fmt.Errorf("check empty: %w - %s", err, errbuf.String()) From 2e92dcf5fc0fd8a9a8b447fc410d00d7979243cf Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Mon, 2 Oct 2023 22:24:11 +0800 Subject: [PATCH 2/2] use correct logic --- modules/git/repo.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/git/repo.go b/modules/git/repo.go index b216ecce3d3b3..32f0e7007eb0b 100644 --- a/modules/git/repo.go +++ b/modules/git/repo.go @@ -86,7 +86,7 @@ func (repo *Repository) IsEmpty() (bool, error) { Stdout: &output, Stderr: &errbuf, }); err != nil { - if (err.Error() == "exit status 1" || err.Error() == "exit status 129") && strings.TrimSpace(errbuf.String()) == "" { + if (err.Error() == "exit status 1" && strings.TrimSpace(errbuf.String()) == "") || err.Error() == "exit status 129" { // git 2.11 exits with 129 if the repo is empty return true, nil }