Patch #7829 ยป 0001-Show-branches-through-the-git-branch-command.patch
app/models/changeset.rb | ||
---|---|---|
162 | 162 |
:from_path => change[:from_path], |
163 | 163 |
:from_revision => change[:from_revision]) |
164 | 164 |
end |
165 |
|
|
165 | ||
166 |
def branches |
|
167 |
repository.scm.get_branches(scmid) |
|
168 |
end |
|
169 | ||
166 | 170 |
private |
167 | 171 | |
168 | 172 |
# Finds issues that can be referenced by the commit message |
... | ... | |
181 | 185 |
return @short_comments, @long_comments |
182 | 186 |
end |
183 | 187 | |
184 |
def branches |
|
185 |
repository.scm.get_branches(scmid) |
|
186 |
end |
|
187 | ||
188 | 188 |
def self.to_utf8(str) |
189 | 189 |
return str if /\A[\r\n\t\x20-\x7e]*\Z/n.match(str) # for us-ascii |
190 | 190 |
encoding = Setting.commit_logs_encoding.to_s.strip |
lib/redmine/scm/adapters/git_adapter.rb | ||
---|---|---|
46 | 46 | |
47 | 47 |
def get_branches(scmid) |
48 | 48 |
result = [] |
49 |
branches.each do |branch| |
|
50 |
cmd = "#{GIT_BIN} --git-dir #{target('')} log --pretty=oneline #{branch}" |
|
51 |
shellout(cmd) do |io| |
|
52 |
io.each_line do |line| |
|
53 |
if line.include?(scmid) |
|
54 |
result << branch |
|
55 |
break |
|
56 |
end |
|
57 |
end |
|
49 |
cmd = "#{GIT_BIN} --git-dir #{target('')} branch --no-color --contains #{scmid}" |
|
50 |
shellout(cmd) do |io| |
|
51 |
io.each_line do |line| |
|
52 |
line = line[1..-1] if line =~ /^\*/ # current branch marked by star |
|
53 |
result << line.strip |
|
58 | 54 |
end |
59 | 55 |
end |
60 | 56 | |
61 |
result.uniq
|
|
57 |
result.sort!
|
|
62 | 58 |
end |
63 | 59 | |
64 | 60 |
def tags |