From 4055495c8ba983033459507f3032ca93c6ec006a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Mur=C3=A9?= Date: Tue, 29 Sep 2020 20:16:15 +0200 Subject: [PATCH] repo: fix wrong ordering in gogit's ListCommit --- repository/gogit.go | 14 ++++++-------- repository/repo_testing.go | 2 +- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/repository/gogit.go b/repository/gogit.go index aac89d4bd626ef1aa52e86543e5ed7d49933366e..09f714eacb15d6dbe8b62ea0e329e0b21d519902 100644 --- a/repository/gogit.go +++ b/repository/gogit.go @@ -536,16 +536,14 @@ func (repo *GoGitRepo) ListCommits(ref string) ([]Hash, error) { if err != nil { return nil, err } - commits := []Hash{Hash(commit.Hash.String())} + hashes := []Hash{Hash(commit.Hash.String())} for { commit, err = commit.Parent(0) - + if err == object.ErrParentNotFound { + break + } if err != nil { - if err == object.ErrParentNotFound { - break - } - return nil, err } @@ -553,10 +551,10 @@ func (repo *GoGitRepo) ListCommits(ref string) ([]Hash, error) { return nil, fmt.Errorf("multiple parents") } - commits = append(commits, Hash(commit.Hash.String())) + hashes = append([]Hash{Hash(commit.Hash.String())}, hashes...) } - return commits, nil + return hashes, nil } // GetOrCreateClock return a Lamport clock stored in the Repo. diff --git a/repository/repo_testing.go b/repository/repo_testing.go index b1f47396a84013e216ddc54b06811c2ff2cc74a5..41b3609ef9a3e2e8d34aaf56630b640bde174015 100644 --- a/repository/repo_testing.go +++ b/repository/repo_testing.go @@ -188,7 +188,7 @@ func RepoDataTest(t *testing.T, repo RepoData) { commits, err := repo.ListCommits("refs/bugs/ref2") require.NoError(t, err) - require.ElementsMatch(t, []Hash{commit1, commit2}, commits) + require.Equal(t, []Hash{commit1, commit2}, commits) // Graph