fork of https://github.com/sourcegraph/zoekt
0

Configure Feed

Select the types of activity you want to include in your feed.

Merge remote-tracking branch 'gerrit/master'

Change-Id: I1c3c8a4579f63ce9df5167816a2611111b26c207

+67 -5
+49
build/builder_test.go
··· 1 + package build 2 + 3 + import ( 4 + "flag" 5 + "testing" 6 + 7 + "github.com/google/go-cmp/cmp" 8 + ) 9 + 10 + func TestFlags(t *testing.T) { 11 + cases := []struct { 12 + args []string 13 + want Options 14 + }{{ 15 + // Defaults 16 + args: []string{}, 17 + want: Options{}, 18 + }, { 19 + args: []string{"-index", "/tmp"}, 20 + want: Options{ 21 + IndexDir: "/tmp", 22 + }, 23 + }, { 24 + // single large file pattern 25 + args: []string{"-large_file", "*.md"}, 26 + want: Options{ 27 + LargeFiles: []string{"*.md"}, 28 + }, 29 + }, { 30 + // multiple large file pattern 31 + args: []string{"-large_file", "*.md", "-large_file", "*.yaml"}, 32 + want: Options{ 33 + LargeFiles: []string{"*.md", "*.yaml"}, 34 + }, 35 + }} 36 + 37 + for _, c := range cases { 38 + c.want.SetDefaults() 39 + 40 + got := Options{} 41 + fs := flag.NewFlagSet("", flag.ContinueOnError) 42 + got.Flags(fs) 43 + if err := fs.Parse(c.args); err != nil { 44 + t.Errorf("failed to parse args %v: %v", c.args, err) 45 + } else if !cmp.Equal(got, c.want) { 46 + t.Errorf("mismatch for %v (-want +got):\n%s", c.args, cmp.Diff(c.want, got)) 47 + } 48 + } 49 + }
+13 -2
cmd/zoekt/main.go
··· 46 46 } 47 47 } 48 48 49 - func loadShard(fn string) (zoekt.Searcher, error) { 49 + func loadShard(fn string, verbose bool) (zoekt.Searcher, error) { 50 50 f, err := os.Open(fn) 51 51 if err != nil { 52 52 return nil, err ··· 56 56 if err != nil { 57 57 return nil, err 58 58 } 59 + 59 60 s, err := zoekt.NewSearcher(iFile) 60 61 if err != nil { 61 62 iFile.Close() 62 63 return nil, fmt.Errorf("NewSearcher(%s): %v", fn, err) 64 + } 65 + 66 + if verbose { 67 + repo, index, err := zoekt.ReadMetadata(iFile) 68 + if err != nil { 69 + iFile.Close() 70 + return nil, fmt.Errorf("ReadMetadata(%s): %v", fn, err) 71 + } 72 + log.Printf("repo metadata: %#v", repo) 73 + log.Printf("index metadata: %#v", index) 63 74 } 64 75 65 76 return s, nil ··· 94 105 var searcher zoekt.Searcher 95 106 var err error 96 107 if *shard != "" { 97 - searcher, err = loadShard(*shard) 108 + searcher, err = loadShard(*shard, *verbose) 98 109 } else { 99 110 searcher, err = shards.NewDirectorySearcher(*index) 100 111 }
+5 -3
gitindex/index.go
··· 16 16 package gitindex 17 17 18 18 import ( 19 + "bytes" 19 20 "fmt" 20 21 "io" 21 - "io/ioutil" 22 22 "log" 23 23 "math" 24 24 "net/url" ··· 518 518 } 519 519 defer r.Close() 520 520 521 - c, err := ioutil.ReadAll(r) 521 + var buf bytes.Buffer 522 + buf.Grow(int(blob.Size)) 523 + _, err = buf.ReadFrom(r) 522 524 if err != nil { 523 525 return nil, err 524 526 } 525 - return c, nil 527 + return buf.Bytes(), nil 526 528 } 527 529 528 530 func uniq(ss []string) []string {