Skip to content

Commit ca2c3d9

Browse files
committed
lfs/gitscanner: support gitscanner.Filter in more places
1 parent 28d2d99 commit ca2c3d9

File tree

3 files changed

+14
-5
lines changed

3 files changed

+14
-5
lines changed

lfs/gitscanner.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ func (s *GitScanner) ScanIndex(ref string, cb GitScannerFoundPointer) error {
175175
if err != nil {
176176
return err
177177
}
178-
return scanIndex(callback, ref)
178+
return scanIndex(callback, ref, s.Filter)
179179
}
180180

181181
func (s *GitScanner) opts(mode ScanningMode) *ScanRefsOptions {

lfs/gitscanner_index.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,16 @@ package lfs
33
import (
44
"strings"
55
"sync"
6+
7+
"github.com/git-lfs/git-lfs/filepathfilter"
68
)
79

810
// ScanIndex returns a slice of WrappedPointer objects for all Git LFS pointers
911
// it finds in the index.
1012
//
1113
// Ref is the ref at which to scan, which may be "HEAD" if there is at least one
1214
// commit.
13-
func scanIndex(cb GitScannerFoundPointer, ref string) error {
15+
func scanIndex(cb GitScannerFoundPointer, ref string, f *filepathfilter.Filter) error {
1416
indexMap := &indexFileMap{
1517
nameMap: make(map[string][]*indexFile),
1618
nameShaPairs: make(map[string]bool),
@@ -95,7 +97,9 @@ func scanIndex(cb GitScannerFoundPointer, ref string) error {
9597
}()
9698

9799
for result := range ch {
98-
cb(result.Pointer, result.Err)
100+
if f.Allows(result.Pointer.Name) {
101+
cb(result.Pointer, result.Err)
102+
}
99103
}
100104

101105
return nil

lfs/gitscanner_refs.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,16 @@ func scanRefsToChan(scanner *GitScanner, pointerCb GitScannerFoundPointer, refLe
7272
if name, ok := opt.GetName(p.Sha1); ok {
7373
p.Name = name
7474
}
75-
pointerCb(p, nil)
75+
76+
if scanner.Filter.Allows(p.Name) {
77+
pointerCb(p, nil)
78+
}
7679
}
7780

7881
for lockableName := range checkLockableCh {
79-
lockableCb(lockableName)
82+
if scanner.Filter.Allows(lockableName) {
83+
lockableCb(lockableName)
84+
}
8085
}
8186

8287
if err := pointers.Wait(); err != nil {

0 commit comments

Comments
 (0)