diff --git a/.travis.yml b/.travis.yml index a964fa81..1f4c61e5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,6 @@ before_install: - git fetch origin master:master - git fetch origin v2.0.0:v2.0.0 - - git fetch origin test/attributes:test/attributes - sudo apt-get install libicu-dev -y rvm: - 1.9.3 diff --git a/Gemfile b/Gemfile index 4d7b99c2..851fabc2 100644 --- a/Gemfile +++ b/Gemfile @@ -1,3 +1,2 @@ source 'https://rubygems.org' gemspec -gem 'rugged', '0.21.1b1' diff --git a/github-linguist.gemspec b/github-linguist.gemspec index ff086b04..382b6cae 100644 --- a/github-linguist.gemspec +++ b/github-linguist.gemspec @@ -17,6 +17,7 @@ Gem::Specification.new do |s| s.add_dependency 'escape_utils', '~> 1.0.1' s.add_dependency 'mime-types', '~> 1.19' s.add_dependency 'pygments.rb', '~> 0.6.0' + s.add_dependency 'rugged', '~> 0.21.0' s.add_development_dependency 'json' s.add_development_dependency 'mocha' diff --git a/lib/linguist/lazy_blob.rb b/lib/linguist/lazy_blob.rb index c7031283..bb262241 100644 --- a/lib/linguist/lazy_blob.rb +++ b/lib/linguist/lazy_blob.rb @@ -1,13 +1,8 @@ require 'linguist/blob_helper' -require 'linguist/language' require 'rugged' module Linguist class LazyBlob - GIT_ATTR = ['linguist-ignore', 'linguist-lang'] - GIT_ATTR_OPTS = { :priority => [:index], :skip_system => true } - GIT_ATTR_FLAGS = Rugged::Repository::Attributes.parse_opts(GIT_ATTR_OPTS) - include BlobHelper MAX_SIZE = 128 * 1024 @@ -24,25 +19,6 @@ module Linguist @mode = mode end - def git_attributes - @git_attributes ||= repository.fetch_attributes( - name, GIT_ATTR, GIT_ATTR_FLAGS) - end - - def ignored? - !!git_attributes['linguist-ignore'] - end - - def overriden_language - if lang = git_attributes['linguist-lang'] - Language.find_by_name(lang) - end - end - - def language - @language ||= (overriden_language || Language.detect(self)) - end - def data load_blob! @data diff --git a/lib/linguist/repository.rb b/lib/linguist/repository.rb index 9e0b7f1e..a89c81e6 100644 --- a/lib/linguist/repository.rb +++ b/lib/linguist/repository.rb @@ -123,10 +123,6 @@ module Linguist diff = Rugged::Tree.diff(repository, old_tree, new_tree) - attr_index = Rugged::Index.new - attr_index.read_tree(new_tree) - repository.index = attr_index - diff.each_delta do |delta| old = delta.old_file[:path] new = delta.new_file[:path] @@ -142,7 +138,7 @@ module Linguist blob = Linguist::LazyBlob.new(repository, delta.new_file[:oid], new, mode.to_s(8)) # Skip vendored or generated blobs - next if blob.ignored? || blob.vendored? || blob.generated? || blob.language.nil? + next if blob.vendored? || blob.generated? || blob.language.nil? # Only include programming languages and acceptable markup languages if blob.language.type == :programming || Language.detectable_markup.include?(blob.language.name) diff --git a/test/test_repository.rb b/test/test_repository.rb index 4f7b938e..f4c5ad70 100644 --- a/test/test_repository.rb +++ b/test/test_repository.rb @@ -47,18 +47,4 @@ class TestRepository < Test::Unit::TestCase assert_equal linguist_repo.cache, new_repo.cache end - - def test_git_attributes - attr_commit = '525304738ebdb7ab3b7d2bf9a7514cc428faa273' - repo = linguist_repo(attr_commit) - - assert repo.breakdown_by_file.has_key?("Java") - assert repo.breakdown_by_file["Java"].include?("lib/linguist.rb") - - assert repo.breakdown_by_file.has_key?("Ruby") - assert !repo.breakdown_by_file["Ruby"].empty? - repo.breakdown_by_file["Ruby"].each do |file| - assert !file.start_with?("test/") - end - end end