scm: mercurial: annotate path encoding support in adapter (#2664).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4931 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
494c2b5007
commit
f8da0127f7
|
@ -238,9 +238,11 @@ module Redmine
|
||||||
end
|
end
|
||||||
|
|
||||||
def annotate(path, identifier=nil)
|
def annotate(path, identifier=nil)
|
||||||
|
p = CGI.escape(scm_iconv(@path_encoding, 'UTF-8', path))
|
||||||
blame = Annotate.new
|
blame = Annotate.new
|
||||||
hg 'annotate', '-ncu', '-r', hgrev(identifier), hgtarget(path) do |io|
|
hg 'rhannotate', '-ncu', '-r', hgrev(identifier), hgtarget(p) do |io|
|
||||||
io.each_line do |line|
|
io.each_line do |line|
|
||||||
|
line.force_encoding('ASCII-8BIT') if line.respond_to?(:force_encoding)
|
||||||
next unless line =~ %r{^([^:]+)\s(\d+)\s([0-9a-f]+):\s(.*)$}
|
next unless line =~ %r{^([^:]+)\s(\d+)\s([0-9a-f]+):\s(.*)$}
|
||||||
r = Revision.new(:author => $1.strip, :revision => $2, :scmid => $3,
|
r = Revision.new(:author => $1.strip, :revision => $2, :scmid => $3,
|
||||||
:identifier => $3)
|
:identifier => $3)
|
||||||
|
|
Loading…
Reference in New Issue