diff --git a/lfs/gitscanner_catfilebatch.go b/lfs/gitscanner_catfilebatch.go index 3e53f54a..9f12cf2e 100644 --- a/lfs/gitscanner_catfilebatch.go +++ b/lfs/gitscanner_catfilebatch.go @@ -30,12 +30,16 @@ func runCatFileBatch(pointerCh chan *WrappedPointer, revs *StringChannelWrapper, func catFileBatchOutput(pointerCh chan *WrappedPointer, cmd *wrappedCmd, errCh chan error) { scanner := &catFileBatchScanner{r: cmd.Stdout} - for scanner.Scan() { - pointerCh <- scanner.Pointer() - } - - if err := scanner.Err(); err != nil { - errCh <- err + for { + p, err := scanner.Next() + if err != nil { + if err != io.EOF { + errCh <- err + } + break + } else if p != nil { + pointerCh <- p + } } stderr, _ := ioutil.ReadAll(cmd.Stderr) diff --git a/lfs/gitscanner_tree.go b/lfs/gitscanner_tree.go index 35f3d668..e06b0e4e 100644 --- a/lfs/gitscanner_tree.go +++ b/lfs/gitscanner_tree.go @@ -47,7 +47,9 @@ func catFileBatchTree(treeblobs *TreeBlobChannelWrapper) (*PointerChannelWrapper p, err := scanner.Next() if err != nil { - errchan <- err + if err != io.EOF { + errchan <- err + } break } else if p != nil { p.Name = t.Filename