Project

General

Profile

Actions

Defect #2006

closed

problem accessing svn repository with PATH contains non-english symbols

Added by Roman Kimyaev about 16 years ago. Updated about 16 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
SCM
Target version:
Start date:
2008-10-08
Due date:
% Done:

0%

Estimated time:
Resolution:
Fixed
Affected version:

Description

Hi,
I have svn repository contains files and 'folders' have both english and non-english(russian) names. There is utf-8 enconding in the settings. Everything well with english named files and 'folders'. But when i trying to get russian named files or 'folder' i see such error in the log:

Processing RepositoriesController#browse (for 10.0.1.47 at 2008-10-07 19:13:21) [GET]
  Session ID: 901453329e4997862b681ccde42fa2b7
  Parameters: {"action"=>"browse", "id"=>"prj", "controller"=>"repositories", "path"=>["╨Ъ╨╛╨╜╨▓╨╡╤А╤В╨░╤Ж╨╕╤П"]}
Error parsing svn output: #<REXML::ParseException: No close tag for /lists/list>
C:/ruby/lib/ruby/1.8/rexml/parsers/treeparser.rb:27:in `parse'
C:/ruby/lib/ruby/1.8/rexml/document.rb:204:in `build'
C:/ruby/lib/ruby/1.8/rexml/document.rb:42:in `initialize'
C:/redmine-0.7/lib/redmine/scm/adapters/subversion_adapter.rb:65:in `new'
C:/redmine-0.7/lib/redmine/scm/adapters/subversion_adapter.rb:65:in `entries'
C:/redmine-0.7/lib/redmine/scm/adapters/abstract_adapter.rb:127:in `call'
C:/redmine-0.7/lib/redmine/scm/adapters/abstract_adapter.rb:127:in `shellout'
C:/redmine-0.7/lib/redmine/scm/adapters/abstract_adapter.rb:125:in `popen'
C:/redmine-0.7/lib/redmine/scm/adapters/abstract_adapter.rb:125:in `shellout'
C:/redmine-0.7/lib/redmine/scm/adapters/subversion_adapter.rb:62:in `entries'
...

I caught invoke shellout(cmd) in the subversion_adapter.rb and saw at the cmd variable.
It contained:

 'svn list --xml "svn://uran/╨Ъ╨╛╨╜╨▓╨╡╤А╤В╨░╤Ж╨╕╤П"@HEAD 2>&1'      

Temporary i solved this problem in the abstract_adapter.rb:

def shellout(cmd, &block)
   logger.debug "Shelling out: #{cmd}" if logger && logger.debug?
   begin
      # IO.popen( cmd, "r+") do |io|
      IO.popen( Iconv.iconv( 'cp1251','utf-8', cmd ).to_s, "r+") do |io|


But I think it's no good

P.S. I think such problem is not for Russian chars in path only. This occur when size( utf-8 char ) > 1 byte
P.P.S.Sorry for my bad English


Related issues

Related to Redmine - Patch #1993: To correct the defect that non-ASCII subversion path can't be displayed(on windows)Closed2008-10-06

Actions
Actions

Also available in: Atom PDF