Defect #6860 » svn-version.diff
| lib/redmine/scm/adapters/subversion_adapter.rb | ||
|---|---|---|
| 30 | 30 |
def client_version |
| 31 | 31 |
@@client_version ||= (svn_binary_version || []) |
| 32 | 32 |
end |
| 33 |
|
|
| 33 | ||
| 34 | 34 |
def svn_binary_version |
| 35 | 35 |
cmd = "#{SVN_BIN} --version"
|
| 36 | 36 |
version = nil |
| 37 |
buf = [] |
|
| 37 | 38 |
shellout(cmd) do |io| |
| 38 |
# Read svn version in first returned line |
|
| 39 |
if m = io.gets.to_s.match(%r{((\d+\.)+\d+)})
|
|
| 40 |
version = m[0].scan(%r{\d+}).collect(&:to_i)
|
|
| 39 |
io.each_line do |line| |
|
| 40 |
buf << line |
|
| 41 | 41 |
end |
| 42 | 42 |
end |
| 43 | 43 |
return nil if $? && $?.exitstatus != 0 |
| 44 |
return nil if buf.empty? |
|
| 45 | ||
| 46 |
# Read svn version in first returned line |
|
| 47 |
if m = buf[0].match(%r{((\d+\.)+\d+)})
|
|
| 48 |
version = m[0].scan(%r{\d+}).collect(&:to_i)
|
|
| 49 |
end |
|
| 44 | 50 |
version |
| 45 | 51 |
end |
| 46 | 52 |
end |
| 47 |
|
|
| 53 | ||
| 48 | 54 |
# Get info about the svn repository |
| 49 | 55 |
def info |
| 50 | 56 |
cmd = "#{SVN_BIN} info --xml #{target}"
|
- « Previous
- 1
- 2
- Next »