Skip to content

Commit bdc9bc2

Browse files
authored
Merge pull request #157 from vmarkovtsev/master
Fix filtering by language
2 parents 5b6f5be + 993db71 commit bdc9bc2

File tree

4 files changed

+28
-6
lines changed

4 files changed

+28
-6
lines changed

Gopkg.lock

+12-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Gopkg.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
name = "gopkg.in/cheggaaa/pb.v1"
6464

6565
[[constraint]]
66-
branch = "master"
66+
version = "v1.6.7"
6767
name = "gopkg.in/src-d/enry.v1"
6868

6969
[[constraint]]

internal/plumbing/tree_diff.go

+6-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"fmt"
55
"io"
66
"log"
7+
"path"
78
"regexp"
89
"strings"
910

@@ -261,11 +262,14 @@ func (treediff *TreeDiff) checkLanguage(name string, blobHash plumbing.Hash) (bo
261262
return false, err
262263
}
263264
buffer := make([]byte, 1024)
264-
_, err = reader.Read(buffer)
265+
n, err := reader.Read(buffer)
265266
if err != nil {
266267
return false, err
267268
}
268-
lang := enry.GetLanguage(name, buffer)
269+
if n < len(buffer) {
270+
buffer = buffer[:n]
271+
}
272+
lang := enry.GetLanguage(path.Base(name), buffer)
269273
return treediff.Languages[lang], nil
270274
}
271275

internal/plumbing/tree_diff_test.go

+9
Original file line numberDiff line numberDiff line change
@@ -247,3 +247,12 @@ func TestTreeDiffFork(t *testing.T) {
247247
assert.Equal(t, td1.previousTree, td2.previousTree)
248248
td1.Merge([]core.PipelineItem{td2})
249249
}
250+
251+
func TestTreeDiffCheckLanguage(t *testing.T) {
252+
td := fixtureTreeDiff()
253+
td.Languages["Go"] = true
254+
lang, err := td.checkLanguage(
255+
"version.go", plumbing.NewHash("975f35a1412b8ae79b5ba2558f71f41e707fd5a9"))
256+
assert.Nil(t, err)
257+
assert.True(t, lang)
258+
}

0 commit comments

Comments
 (0)