Defect #5096 ยป git-io-gets.diff
| lib/redmine/scm/adapters/git_adapter.rb | ||
|---|---|---|
| 89 | 89 |
cmd = "#{GIT_BIN} --git-dir #{target('')} log --no-color --date=iso --pretty=fuller --no-merges -n 1 "
|
| 90 | 90 |
cmd << " #{shell_quote rev} " if rev
|
| 91 | 91 |
cmd << "-- #{shell_quote path} " unless path.empty?
|
| 92 |
shellout(cmd) do |io| |
|
| 93 |
begin |
|
| 94 |
id = io.gets.split[1] |
|
| 95 |
author = io.gets.match('Author:\s+(.*)$')[1]
|
|
| 96 |
2.times { io.gets }
|
|
| 97 |
time = Time.parse(io.gets.match('CommitDate:\s+(.*)$')[1]).localtime
|
|
| 92 |
lines = [] |
|
| 93 |
shellout(cmd) { |io| lines = io.readlines }
|
|
| 94 |
return nil if $? && $?.exitstatus != 0 |
|
| 95 |
begin |
|
| 96 |
id = lines[0].split[1] |
|
| 97 |
author = lines[1].match('Author:\s+(.*)$')[1]
|
|
| 98 |
time = Time.parse(lines[4].match('CommitDate:\s+(.*)$')[1]).localtime
|
|
| 98 | 99 | |
| 99 | 100 |
Revision.new({
|
| 100 | 101 |
:identifier => id, |
| ... | ... | |
| 104 | 105 |
:message => nil, |
| 105 | 106 |
:paths => nil |
| 106 | 107 |
}) |
| 107 |
rescue NoMethodError => e
|
|
| 108 |
rescue NoMethodError => e |
|
| 108 | 109 |
logger.error("The revision '#{path}' has a wrong format")
|
| 109 | 110 |
return nil |
| 110 |
end |
|
| 111 | 111 |
end |
| 112 | 112 |
end |
| 113 | 113 | |