mirror of
https://github.com/go-gitea/gitea.git
synced 2025-02-20 11:43:57 +08:00
Fix bug
This commit is contained in:
parent
7bdf6869a7
commit
6325a14e08
@ -73,12 +73,6 @@ func (repo *Repository) GetLanguageStats(commitID string) (map[string]int64, err
|
||||
firstExcludedLanguageSize := int64(0)
|
||||
|
||||
if err := tree.IterateEntriesWithSize(func(f *TreeEntry) error {
|
||||
select {
|
||||
case <-repo.Ctx.Done():
|
||||
return repo.Ctx.Err()
|
||||
default:
|
||||
}
|
||||
|
||||
contentBuf.Reset()
|
||||
content = contentBuf.Bytes()
|
||||
|
||||
|
@ -127,7 +127,7 @@ func (t *Tree) iterateEntriesRecursive(ctx context.Context, f func(entry *TreeEn
|
||||
reader, writer := io.Pipe()
|
||||
done := make(chan error)
|
||||
|
||||
go func(done chan error, writer *io.PipeWriter, reader *io.PipeReader) {
|
||||
go func(t *Tree, done chan error, writer *io.PipeWriter) {
|
||||
runErr := NewCommand(t.repo.Ctx, "ls-tree", "-t", "-r").
|
||||
AddArguments(extraArgs...).
|
||||
AddDynamicArguments(t.ID.String()).
|
||||
@ -137,10 +137,9 @@ func (t *Tree) iterateEntriesRecursive(ctx context.Context, f func(entry *TreeEn
|
||||
})
|
||||
|
||||
_ = writer.Close()
|
||||
_ = reader.Close()
|
||||
|
||||
done <- runErr
|
||||
}(done, writer, reader)
|
||||
}(t, done, writer)
|
||||
|
||||
scanner := bufio.NewScanner(reader)
|
||||
for scanner.Scan() {
|
||||
@ -150,13 +149,15 @@ func (t *Tree) iterateEntriesRecursive(ctx context.Context, f func(entry *TreeEn
|
||||
|
||||
data := scanner.Bytes()
|
||||
if err := iterateTreeEntries(data, t, func(entry *TreeEntry) error {
|
||||
if err := f(entry); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
return ctx.Err()
|
||||
case runErr := <-done:
|
||||
return runErr
|
||||
default:
|
||||
return f(entry)
|
||||
}
|
||||
}); err != nil {
|
||||
return err
|
||||
@ -166,5 +167,5 @@ func (t *Tree) iterateEntriesRecursive(ctx context.Context, f func(entry *TreeEn
|
||||
}
|
||||
|
||||
func (t *Tree) IterateEntriesWithSize(f func(*TreeEntry) error) error {
|
||||
return t.iterateEntriesRecursive(context.Background(), f, TrustedCmdArgs{"--long"})
|
||||
return t.iterateEntriesRecursive(t.repo.Ctx, f, TrustedCmdArgs{"--long"})
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user