Fixes Mercurial browsing under unix-like os and for directory depth > 2 and (patch #826 by Frederic Moulins, slightly edited to preserve win32 compatibility).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1228 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
624723d0ce
commit
71d3bb2f7b
|
@ -43,12 +43,12 @@ module Redmine
|
||||||
def entries(path=nil, identifier=nil)
|
def entries(path=nil, identifier=nil)
|
||||||
path ||= ''
|
path ||= ''
|
||||||
entries = Entries.new
|
entries = Entries.new
|
||||||
cmd = "#{HG_BIN} -R #{target('')} --cwd #{target(path)} locate -X */*/*"
|
cmd = "#{HG_BIN} -R #{target('')} --cwd #{target(path)} locate"
|
||||||
cmd << " -r #{identifier.to_i}" if identifier
|
cmd << " -r #{identifier.to_i}" if identifier
|
||||||
cmd << " * */*"
|
cmd << " glob:**"
|
||||||
shellout(cmd) do |io|
|
shellout(cmd) do |io|
|
||||||
io.each_line do |line|
|
io.each_line do |line|
|
||||||
e = line.chomp.split('\\')
|
e = line.chomp.split(%r{[\/\\]})
|
||||||
entries << Entry.new({:name => e.first,
|
entries << Entry.new({:name => e.first,
|
||||||
:path => (path.empty? ? e.first : "#{path}/#{e.first}"),
|
:path => (path.empty? ? e.first : "#{path}/#{e.first}"),
|
||||||
:kind => (e.size > 1 ? 'dir' : 'file'),
|
:kind => (e.size > 1 ? 'dir' : 'file'),
|
||||||
|
|
Loading…
Reference in New Issue