MCPcopy
hub / github.com/harness/harness / CatFileBatchCheckAllObjects

Function CatFileBatchCheckAllObjects

git/parser/diff_raw.go:123–159  ·  view source on GitHub ↗
(r io.Reader)

Source from the content-addressed store, hash-verified

121var regexpBatchCheckObject = regexp.MustCompile(`^([0-9a-f]{40,64}) (\w+) (\d+)$`)
122
123func CatFileBatchCheckAllObjects(r io.Reader) ([]BatchCheckObject, error) {
124 var result []BatchCheckObject
125
126 scan := bufio.NewScanner(r)
127 scan.Split(ScanZeroSeparated)
128
129 for scan.Scan() {
130 line := scan.Text()
131 matches := regexpBatchCheckObject.FindStringSubmatch(line)
132
133 if len(matches) != 4 {
134 return nil, fmt.Errorf("failed to parse line: %q", line)
135 }
136
137 sha, err := sha.New(matches[1])
138 if err != nil {
139 return nil, fmt.Errorf("failed to create sha.SHA for %q: %w", matches[1], err)
140 }
141
142 sizeStr := matches[3]
143 size, err := strconv.ParseInt(sizeStr, 10, 64)
144 if err != nil {
145 return nil, fmt.Errorf("failed to convert size %q to int64: %w", sizeStr, err)
146 }
147
148 result = append(result, BatchCheckObject{
149 SHA: sha,
150 Type: matches[2],
151 Size: size,
152 })
153 }
154 if err := scan.Err(); err != nil {
155 return nil, fmt.Errorf("failed to scan cat file batch check all objects: %w", scan.Err())
156 }
157
158 return result, nil
159}

Callers 1

listGitObjDirMethod · 0.92

Calls 6

ScanMethod · 0.95
TextMethod · 0.95
ErrMethod · 0.95
NewFunction · 0.92
SplitMethod · 0.80
ErrorfMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…