From 9f70cc24cd02b6783fc03068cf54184e34924701 Mon Sep 17 00:00:00 2001 From: jolheiser Date: Tue, 24 Sep 2024 12:17:40 -0500 Subject: [PATCH] fix: sort dirs correctly Signed-off-by: jolheiser --- internal/git/git.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/internal/git/git.go b/internal/git/git.go index c3649f9..72140d8 100644 --- a/internal/git/git.go +++ b/internal/git/git.go @@ -98,7 +98,7 @@ func (r Repo) Dir(ref, path string) ([]FileInfo, error) { } } - fis := make([]FileInfo, 0) + fis := make([]FileInfo, 0, len(t.Entries)) for _, entry := range t.Entries { fm, err := entry.Mode.ToOSFileMode() if err != nil { @@ -118,7 +118,10 @@ func (r Repo) Dir(ref, path string) ([]FileInfo, error) { sort.Slice(fis, func(i, j int) bool { fi1 := fis[i] fi2 := fis[j] - return (fi1.IsDir && !fi2.IsDir) || fi1.Name() < fi2.Name() + if fi1.IsDir != fi2.IsDir { + return fi1.IsDir + } + return fi1.Name() < fi2.Name() }) return fis, nil