diff --git a/lib/git/base/factory.rb b/lib/git/base/factory.rb index 7b601306..25cb1090 100644 --- a/lib/git/base/factory.rb +++ b/lib/git/base/factory.rb @@ -3,9 +3,8 @@ module Git class Base module Factory - # @return [Git::Branch] an object for branch_name - def branch(branch_name = 'master') + def branch(branch_name = self.current_branch) Git::Branch.new(self, branch_name) end @@ -93,7 +92,6 @@ def merge_base(*args) shas = self.lib.merge_base(*args) shas.map { |sha| gcommit(sha) } end - end end diff --git a/tests/units/test_branch.rb b/tests/units/test_branch.rb index e3acd0d2..96585bdc 100644 --- a/tests/units/test_branch.rb +++ b/tests/units/test_branch.rb @@ -14,6 +14,18 @@ def setup @branches = @git.branches end + test 'Git::Lib#branch with no args should return current branch' do + in_temp_dir do + git = Git.init('.', initial_branch: 'my_branch') + File.write('file.txt', 'hello world') + git.add('file.txt') + git.commit('Initial commit') + + b = git.branch + assert_equal('my_branch', b.name) + end + end + def test_branches_all assert(@git.branches[:master].is_a?(Git::Branch)) assert(@git.branches.size > 5)