@@ -290,76 +290,6 @@ func (l *BatchObjectIter) Close() error {
290290 return err
291291}
292292
293- type ReferenceFilter func (Reference ) bool
294-
295- func AllReferencesFilter (_ Reference ) bool {
296- return true
297- }
298-
299- func PrefixFilter (prefix string ) ReferenceFilter {
300- return func (r Reference ) bool {
301- return strings .HasPrefix (r .Refname , prefix )
302- }
303- }
304-
305- var (
306- BranchesFilter ReferenceFilter = PrefixFilter ("refs/heads/" )
307- TagsFilter ReferenceFilter = PrefixFilter ("refs/tags/" )
308- RemotesFilter ReferenceFilter = PrefixFilter ("refs/remotes/" )
309- )
310-
311- func notNilFilters (filters ... ReferenceFilter ) []ReferenceFilter {
312- var ret []ReferenceFilter
313- for _ , filter := range filters {
314- if filter != nil {
315- ret = append (ret , filter )
316- }
317- }
318- return ret
319- }
320-
321- func OrFilter (filters ... ReferenceFilter ) ReferenceFilter {
322- filters = notNilFilters (filters ... )
323- if len (filters ) == 0 {
324- return AllReferencesFilter
325- } else if len (filters ) == 1 {
326- return filters [0 ]
327- } else {
328- return func (r Reference ) bool {
329- for _ , filter := range filters {
330- if filter (r ) {
331- return true
332- }
333- }
334- return false
335- }
336- }
337- }
338-
339- func AndFilter (filters ... ReferenceFilter ) ReferenceFilter {
340- filters = notNilFilters (filters ... )
341- if len (filters ) == 0 {
342- return AllReferencesFilter
343- } else if len (filters ) == 1 {
344- return filters [0 ]
345- } else {
346- return func (r Reference ) bool {
347- for _ , filter := range filters {
348- if ! filter (r ) {
349- return false
350- }
351- }
352- return true
353- }
354- }
355- }
356-
357- func NotFilter (filter ReferenceFilter ) ReferenceFilter {
358- return func (r Reference ) bool {
359- return ! filter (r )
360- }
361- }
362-
363293// Parse a `cat-file --batch[-check]` output header line (including
364294// the trailing LF). `spec`, if not "", is used in error messages.
365295func parseBatchHeader (spec string , header string ) (OID , ObjectType , counts.Count32 , error ) {
0 commit comments