diff --git a/lib/octocatalog-diff/catalog-util/git.rb b/lib/octocatalog-diff/catalog-util/git.rb index 0d77533f..ad2c0d61 100644 --- a/lib/octocatalog-diff/catalog-util/git.rb +++ b/lib/octocatalog-diff/catalog-util/git.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'rugged' +require 'git' require_relative '../errors' require_relative '../util/scriptrunner' @@ -64,8 +64,8 @@ def self.branch_sha(options = {}) if dir.nil? || !File.directory?(dir) raise Errno::ENOENT, "Git directory #{dir.inspect} does not exist" end - repo = Rugged::Repository.new(dir) - repo.branches[branch].target_id + repo = ::Git.open(dir) + repo.branch(branch).gcommit.sha end end end diff --git a/octocatalog-diff.gemspec b/octocatalog-diff.gemspec index 92245a50..db32ae96 100644 --- a/octocatalog-diff.gemspec +++ b/octocatalog-diff.gemspec @@ -29,7 +29,7 @@ EOF s.add_runtime_dependency 'httparty', '>= 0.21.0' s.add_runtime_dependency 'hashdiff', '>= 0.3.0' s.add_runtime_dependency 'parallel', '>= 1.12.0' - s.add_runtime_dependency 'rugged', '>= 0.25.0b2' + s.add_runtime_dependency 'git', '~> 4' s.add_runtime_dependency 'puppet', '>= 5.5.0' s.add_development_dependency 'puppet', '>= 5.5.0' s.add_development_dependency 'rspec', '~> 3.4.0' diff --git a/rake/doc.rb b/rake/doc.rb index bfdcb193..3016c917 100644 --- a/rake/doc.rb +++ b/rake/doc.rb @@ -1,6 +1,5 @@ require 'erb' require 'optparse' -require 'rugged' require_relative '../lib/octocatalog-diff/cli/options' require_relative '../lib/octocatalog-diff/version' diff --git a/spec/octocatalog-diff/tests/catalog-util/cached_master_directory_spec.rb b/spec/octocatalog-diff/tests/catalog-util/cached_master_directory_spec.rb index dbce58ce..2795023e 100644 --- a/spec/octocatalog-diff/tests/catalog-util/cached_master_directory_spec.rb +++ b/spec/octocatalog-diff/tests/catalog-util/cached_master_directory_spec.rb @@ -4,9 +4,9 @@ require OctocatalogDiff::Spec.require_path('/catalog-util/cached_master_directory') require 'fileutils' +require 'git' require 'json' require 'open3' -require 'rugged' require 'tmpdir' describe OctocatalogDiff::CatalogUtil::CachedMasterDirectory do @@ -66,9 +66,9 @@ it 'should have the expected SHA returned by rugged' do pending 'repository checkout fixture missing' unless File.directory?(@default_options[:basedir]) - repo = Rugged::Repository.new(@default_options[:basedir]) - test_rugged_sha = repo.branches['master'].target_id - expect(test_rugged_sha).to eq(@master_sha) + repo = Git.open(@default_options[:basedir]) + test_git_sha = repo.branch('master').gcommit.sha + expect(test_git_sha).to eq(@master_sha) end end diff --git a/spec/octocatalog-diff/tests/catalog-util/git_spec.rb b/spec/octocatalog-diff/tests/catalog-util/git_spec.rb index 2ca7575c..4c096d6f 100644 --- a/spec/octocatalog-diff/tests/catalog-util/git_spec.rb +++ b/spec/octocatalog-diff/tests/catalog-util/git_spec.rb @@ -13,6 +13,7 @@ @logger, @logger_str = OctocatalogDiff::Spec.setup_logger allow(File).to receive(:'directory?').with('/tmp/foo').and_return(false) allow(File).to receive(:'directory?').with('/tmp/bar').and_return(true) + allow(File).to receive(:'directory?').with('.').and_return(true) end describe '#check_out_git_archive' do @@ -93,14 +94,10 @@ end context 'with valid directory' do - it 'should return the sha from rugged' do - opts = { branch: 'foo', basedir: '/tmp/bar' } - expect(Rugged::Repository).to receive(:new).with('/tmp/bar') - .and_return(OpenStruct.new(branches: { - 'foo' => OpenStruct.new(target_id: 'abcdef012345') - })) + it 'should return the sha' do + opts = { branch: 'master', basedir: '.' } result = described_class.branch_sha(opts) - expect(result).to eq('abcdef012345') + expect(result).to match(/^[0-9a-f]+$/) end end end