Skip to content

Commit 6325a14

Browse files
committed
Fix bug
1 parent 7bdf686 commit 6325a14

File tree

2 files changed

+7
-12
lines changed

2 files changed

+7
-12
lines changed

modules/git/repo_language_stats_nogogit.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,6 @@ func (repo *Repository) GetLanguageStats(commitID string) (map[string]int64, err
7373
firstExcludedLanguageSize := int64(0)
7474

7575
if err := tree.IterateEntriesWithSize(func(f *TreeEntry) error {
76-
select {
77-
case <-repo.Ctx.Done():
78-
return repo.Ctx.Err()
79-
default:
80-
}
81-
8276
contentBuf.Reset()
8377
content = contentBuf.Bytes()
8478

modules/git/tree_nogogit.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ func (t *Tree) iterateEntriesRecursive(ctx context.Context, f func(entry *TreeEn
127127
reader, writer := io.Pipe()
128128
done := make(chan error)
129129

130-
go func(done chan error, writer *io.PipeWriter, reader *io.PipeReader) {
130+
go func(t *Tree, done chan error, writer *io.PipeWriter) {
131131
runErr := NewCommand(t.repo.Ctx, "ls-tree", "-t", "-r").
132132
AddArguments(extraArgs...).
133133
AddDynamicArguments(t.ID.String()).
@@ -137,10 +137,9 @@ func (t *Tree) iterateEntriesRecursive(ctx context.Context, f func(entry *TreeEn
137137
})
138138

139139
_ = writer.Close()
140-
_ = reader.Close()
141140

142141
done <- runErr
143-
}(done, writer, reader)
142+
}(t, done, writer)
144143

145144
scanner := bufio.NewScanner(reader)
146145
for scanner.Scan() {
@@ -150,13 +149,15 @@ func (t *Tree) iterateEntriesRecursive(ctx context.Context, f func(entry *TreeEn
150149

151150
data := scanner.Bytes()
152151
if err := iterateTreeEntries(data, t, func(entry *TreeEntry) error {
152+
if err := f(entry); err != nil {
153+
return err
154+
}
155+
153156
select {
154157
case <-ctx.Done():
155158
return ctx.Err()
156159
case runErr := <-done:
157160
return runErr
158-
default:
159-
return f(entry)
160161
}
161162
}); err != nil {
162163
return err
@@ -166,5 +167,5 @@ func (t *Tree) iterateEntriesRecursive(ctx context.Context, f func(entry *TreeEn
166167
}
167168

168169
func (t *Tree) IterateEntriesWithSize(f func(*TreeEntry) error) error {
169-
return t.iterateEntriesRecursive(context.Background(), f, TrustedCmdArgs{"--long"})
170+
return t.iterateEntriesRecursive(t.repo.Ctx, f, TrustedCmdArgs{"--long"})
170171
}

0 commit comments

Comments
 (0)