summaryrefslogtreecommitdiffstats
path: root/lib/git/lib.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/git/lib.rb')
-rw-r--r--lib/git/lib.rb13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/git/lib.rb b/lib/git/lib.rb
index 41b3efb..9b3922e 100644
--- a/lib/git/lib.rb
+++ b/lib/git/lib.rb
@@ -257,6 +257,14 @@ module Git
command('checkout', arr_opts)
end
+ def merge(branch, message = nil)
+ arr_opts = []
+ arr_opts << ["-m '#{message}'"] if message
+ arr_opts << branch.to_a.join(' ')
+ command('merge', arr_opts)
+ end
+
+
private
def command_lines(cmd, opts = {})
@@ -278,7 +286,10 @@ module Git
#puts "git #{cmd} #{opts}"
#puts out
#puts
- if $?.exitstatus > 1
+ if $?.exitstatus > 0
+ if $?.exitstatus == 1 && out == ''
+ return ''
+ end
raise Git::GitExecuteError.new(out)
end
out