(cache map[string]struct{}, scanner *lfs.DiffIndexScanner)
| 197 | } |
| 198 | |
| 199 | func drainScanner(cache map[string]struct{}, scanner *lfs.DiffIndexScanner) ([]*lfs.DiffIndexEntry, error) { |
| 200 | var to []*lfs.DiffIndexEntry |
| 201 | |
| 202 | for scanner.Scan() { |
| 203 | entry := scanner.Entry() |
| 204 | |
| 205 | key := keyFromEntry(entry) |
| 206 | if _, seen := cache[key]; !seen { |
| 207 | to = append(to, entry) |
| 208 | |
| 209 | cache[key] = struct{}{} |
| 210 | } |
| 211 | } |
| 212 | |
| 213 | if err := scanner.Err(); err != nil { |
| 214 | return nil, err |
| 215 | } |
| 216 | return to, nil |
| 217 | } |
| 218 | |
| 219 | func keyFromEntry(e *lfs.DiffIndexEntry) string { |
| 220 | var name string = e.DstName |
no test coverage detected