summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/redmine/scm/adapters/git_adapter.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/redmine/scm/adapters/git_adapter.rb b/lib/redmine/scm/adapters/git_adapter.rb
index e469465ab..94d84e485 100644
--- a/lib/redmine/scm/adapters/git_adapter.rb
+++ b/lib/redmine/scm/adapters/git_adapter.rb
@@ -76,12 +76,14 @@ module Redmine
def branches
return @branches if @branches
+
@branches = []
cmd_args = %w|branch --no-color --verbose --no-abbrev|
git_cmd(cmd_args) do |io|
io.each_line do |line|
branch_rev = line.match('\s*(\*?)\s*(.*?)\s*([0-9a-f]{40}).*$')
next unless branch_rev
+
bran = GitBranch.new(scm_iconv('UTF-8', @path_encoding, branch_rev[2]))
bran.revision = branch_rev[3]
bran.scmid = branch_rev[3]
@@ -96,6 +98,7 @@ module Redmine
def tags
return @tags if @tags
+
@tags = []
cmd_args = %w|tag|
git_cmd(cmd_args) do |io|
@@ -109,8 +112,10 @@ module Redmine
def default_branch
bras = self.branches
return unless bras
+
default_bras = bras.detect{|x| x.is_default == true}
return default_bras.to_s if default_bras
+
master_bras = bras.detect{|x| x.to_s == 'master'}
master_bras ? 'master' : bras.first.to_s
end
@@ -177,6 +182,7 @@ module Redmine
def lastrev(path, rev)
return nil if path.nil?
+
cmd_args = %w|log --no-color --encoding=UTF-8 --date=iso --pretty=fuller --no-merges -n 1|
cmd_args << '--no-renames' if self.class.client_version_above?([2, 9])
cmd_args << rev if rev
@@ -369,6 +375,7 @@ module Redmine
git_cmd(cmd_args) {|io| io.binmode; content = io.read}
# git annotates binary files
return nil if ScmData.binary?(content)
+
identifier = ''
# git shows commit author on the first occurrence only
authors_by_commit = {}
@@ -437,6 +444,7 @@ module Redmine
if $? && $?.exitstatus != 0
raise ScmCommandAborted, "git exited with non-zero status: #{$?.exitstatus}"
end
+
ret
end
end