Skip to content

Commit f84bf25

Browse files
authored
Fix gogit ListEntriesRecursiveWithSize (#35862)
It needs to use full git path. Fix #35852.
1 parent 470b210 commit f84bf25

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

modules/git/tree_entry_gogit.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,17 @@ type TreeEntry struct {
1919
gogitTreeEntry *object.TreeEntry
2020
ptree *Tree
2121

22+
fullName string
23+
2224
size int64
2325
sized bool
2426
}
2527

2628
// Name returns the name of the entry
2729
func (te *TreeEntry) Name() string {
30+
if te.fullName != "" {
31+
return te.fullName
32+
}
2833
return te.gogitTreeEntry.Name
2934
}
3035

modules/git/tree_gogit.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ func (t *Tree) ListEntriesRecursiveWithSize() (Entries, error) {
6969
seen := map[plumbing.Hash]bool{}
7070
walker := object.NewTreeWalker(t.gogitTree, true, seen)
7171
for {
72-
_, entry, err := walker.Next()
72+
fullName, entry, err := walker.Next()
7373
if err == io.EOF {
7474
break
7575
}
@@ -84,6 +84,7 @@ func (t *Tree) ListEntriesRecursiveWithSize() (Entries, error) {
8484
ID: ParseGogitHash(entry.Hash),
8585
gogitTreeEntry: &entry,
8686
ptree: t,
87+
fullName: fullName,
8788
}
8889
entries = append(entries, convertedEntry)
8990
}

0 commit comments

Comments
 (0)