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:
Jean-Philippe Lang 2008-03-11 20:06:25 +00:00
parent 624723d0ce
commit 71d3bb2f7b
1 changed files with 3 additions and 3 deletions

View File

@ -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'),