summaryrefslogtreecommitdiffstats
path: root/lib/redmine
diff options
context:
space:
mode:
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>2011-03-02 10:17:36 +0000
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>2011-03-02 10:17:36 +0000
commitc3e8fc5f1a2daac4b2972effd79e9cf5e4e6cba6 (patch)
tree3d23cc56ef696efc0c09b42f3441366ec4acb62b /lib/redmine
parenta79c89eb3ca5e23c9451800aa828160faa4175f0 (diff)
downloadredmine-c3e8fc5f1a2daac4b2972effd79e9cf5e4e6cba6.tar.gz
redmine-c3e8fc5f1a2daac4b2972effd79e9cf5e4e6cba6.zip
scm: mercurial: wrap revison, tag and branch with URL encoding for entries (#4455, #1981, #7246).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4989 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib/redmine')
-rw-r--r--lib/redmine/scm/adapters/mercurial/redminehelper.py2
-rw-r--r--lib/redmine/scm/adapters/mercurial_adapter.rb2
2 files changed, 2 insertions, 2 deletions
diff --git a/lib/redmine/scm/adapters/mercurial/redminehelper.py b/lib/redmine/scm/adapters/mercurial/redminehelper.py
index 9bca6c9bd..e6c9182f0 100644
--- a/lib/redmine/scm/adapters/mercurial/redminehelper.py
+++ b/lib/redmine/scm/adapters/mercurial/redminehelper.py
@@ -140,7 +140,7 @@ def rhmanifest(ui, repo, path='', **opts):
ui.write('<rhmanifest>\n')
ui.write('<repository root="%s">\n' % _u(repo.root))
try:
- _manifest(ui, repo, urllib.unquote_plus(path), opts.get('rev'))
+ _manifest(ui, repo, urllib.unquote_plus(path), urllib.unquote_plus(opts.get('rev')))
finally:
ui.write('</repository>\n')
ui.write('</rhmanifest>\n')
diff --git a/lib/redmine/scm/adapters/mercurial_adapter.rb b/lib/redmine/scm/adapters/mercurial_adapter.rb
index 11eb66b64..c60eb99e3 100644
--- a/lib/redmine/scm/adapters/mercurial_adapter.rb
+++ b/lib/redmine/scm/adapters/mercurial_adapter.rb
@@ -130,7 +130,7 @@ module Redmine
def entries(path=nil, identifier=nil)
p1 = scm_iconv(@path_encoding, 'UTF-8', path)
- manifest = hg('rhmanifest', '-r', hgrev(identifier),
+ manifest = hg('rhmanifest', '-r', CGI.escape(hgrev(identifier)),
CGI.escape(without_leading_slash(p1.to_s))) do |io|
begin
ActiveSupport::XmlMini.parse(io.read)['rhmanifest']['repository']['manifest']