File tree Expand file tree Collapse file tree 1 file changed +7
-0
lines changed Expand file tree Collapse file tree 1 file changed +7
-0
lines changed Original file line number Diff line number Diff line change @@ -30,6 +30,10 @@ type Parser struct {
30
30
func NewParser (r io.Reader , format Format ) * Parser {
31
31
scanner := bufio .NewScanner (r )
32
32
33
+ // default MaxScanTokenSize = 64 kiB may be too small for some references,
34
+ // so allow the buffer to grow up to 4x if needed
35
+ scanner .Buffer (nil , 4 * bufio .MaxScanTokenSize )
36
+
33
37
// in addition to the reference delimiter we specified in the --format,
34
38
// `git for-each-ref` will always add a newline after every reference.
35
39
refDelim := make ([]byte , 0 , len (format .refDelim )+ 1 )
@@ -70,6 +74,9 @@ func NewParser(r io.Reader, format Format) *Parser {
70
74
// { "objecttype": "tag", "refname:short": "v1.16.4", "object": "f460b7543ed500e49c133c2cd85c8c55ee9dbe27" }
71
75
func (p * Parser ) Next () map [string ]string {
72
76
if ! p .scanner .Scan () {
77
+ if err := p .scanner .Err (); err != nil {
78
+ p .err = err
79
+ }
73
80
return nil
74
81
}
75
82
fields , err := p .parseRef (p .scanner .Text ())
You can’t perform that action at this time.
0 commit comments