From a3a4addf5a8aed94fe9429feea3e4554874c61fa 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 048427e9b5e4ca931e3de3b776ff279f95b65200 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Mon, 2 Oct 2023 22:25:04 +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 }