ui.write('</manifest>\n')
def rhannotate(ui, repo, *pats, **opts):
+ rev = urllib.unquote_plus(opts.pop('rev', None))
+ opts['rev'] = rev
return commands.annotate(ui, repo, *map(urllib.unquote_plus, pats), **opts)
def rhcat(ui, repo, file1, *pats, **opts):
+ rev = urllib.unquote_plus(opts.pop('rev', None))
+ opts['rev'] = rev
return commands.cat(ui, repo, urllib.unquote_plus(file1), *map(urllib.unquote_plus, pats), **opts)
def rhdiff(ui, repo, *pats, **opts):
def cat(path, identifier=nil)
p = CGI.escape(scm_iconv(@path_encoding, 'UTF-8', path))
- hg 'rhcat', '-r', hgrev(identifier), hgtarget(p) do |io|
+ hg 'rhcat', '-r', CGI.escape(hgrev(identifier)), hgtarget(p) do |io|
io.binmode
io.read
end
def annotate(path, identifier=nil)
p = CGI.escape(scm_iconv(@path_encoding, 'UTF-8', path))
blame = Annotate.new
- hg 'rhannotate', '-ncu', '-r', hgrev(identifier), hgtarget(p) do |io|
+ hg 'rhannotate', '-ncu', '-r', CGI.escape(hgrev(identifier)), hgtarget(p) do |io|
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(.*)$}