remove encode lib, clean all encoded area.
This commit is contained in:
parent
96211b01a8
commit
f1ac2a616b
|
@ -1,7 +1,6 @@
|
|||
# Controller for viewing a file's blame
|
||||
class BlobController < ProjectResourceController
|
||||
include ExtractsPath
|
||||
include Gitlab::Encode
|
||||
|
||||
# Authorize
|
||||
before_filter :authorize_read_project!
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
class RefsController < ProjectResourceController
|
||||
include Gitlab::Encode
|
||||
|
||||
# Authorize
|
||||
before_filter :authorize_read_project!
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
class Commit
|
||||
include ActiveModel::Conversion
|
||||
include Gitlab::Encode
|
||||
include StaticModel
|
||||
extend ActiveModel::Naming
|
||||
|
||||
|
@ -112,7 +111,7 @@ class Commit
|
|||
end
|
||||
|
||||
def safe_message
|
||||
@safe_message ||= utf8 message
|
||||
@safe_message ||= message
|
||||
end
|
||||
|
||||
def created_at
|
||||
|
@ -124,7 +123,7 @@ class Commit
|
|||
end
|
||||
|
||||
def author_name
|
||||
utf8 author.name
|
||||
author.name
|
||||
end
|
||||
|
||||
# Was this commit committed by a different person than the original author?
|
||||
|
@ -133,7 +132,7 @@ class Commit
|
|||
end
|
||||
|
||||
def committer_name
|
||||
utf8 committer.name
|
||||
committer.name
|
||||
end
|
||||
|
||||
def committer_email
|
||||
|
|
|
@ -8,7 +8,7 @@ class Tree
|
|||
def initialize(raw_tree, project, ref = nil, path = nil)
|
||||
@project, @ref, @path = project, ref, path
|
||||
@tree = if path.present?
|
||||
raw_tree / path.dup.force_encoding('ascii-8bit')
|
||||
raw_tree / path
|
||||
else
|
||||
raw_tree
|
||||
end
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
.file_title
|
||||
%i.icon-file
|
||||
%span.file_name
|
||||
= @tree.name.force_encoding('utf-8')
|
||||
= @tree.name
|
||||
%small= number_to_human_size @tree.size
|
||||
%span.options= render "tree/blob_actions"
|
||||
.file_content.blame
|
||||
|
@ -32,4 +32,4 @@
|
|||
%td.lines
|
||||
= preserve do
|
||||
%pre
|
||||
= Gitlab::Encode.utf8 lines.join("\n")
|
||||
= lines.join("\n")
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
.file_title
|
||||
%i.icon-file
|
||||
%span.file_name
|
||||
= blob.name.force_encoding('utf-8')
|
||||
= blob.name
|
||||
%small= number_to_human_size blob.size
|
||||
%span.options= render "tree/blob_actions"
|
||||
- if blob.text?
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
.file_title
|
||||
%i.icon-file
|
||||
%span.file_name
|
||||
= "#{@tree.path.force_encoding('utf-8')} (#{@ref})"
|
||||
= "#{@tree.path} (#{@ref})"
|
||||
.file_content.code
|
||||
#editor= @tree.data
|
||||
|
||||
|
|
|
@ -6,23 +6,4 @@ Grit::Git.git_max_size = Gitlab.config.git_max_size
|
|||
|
||||
Grit::Blob.class_eval do
|
||||
include Linguist::BlobHelper
|
||||
|
||||
def data
|
||||
@data ||= @repo.git.cat_file({:p => true}, id)
|
||||
Gitlab::Encode.utf8 @data
|
||||
end
|
||||
end
|
||||
|
||||
Grit::Diff.class_eval do
|
||||
def old_path
|
||||
Gitlab::Encode.utf8 @a_path
|
||||
end
|
||||
|
||||
def new_path
|
||||
Gitlab::Encode.utf8 @b_path
|
||||
end
|
||||
|
||||
def diff
|
||||
Gitlab::Encode.utf8 @diff
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
# Patch Strings to enable detect_encoding! on views
|
||||
require 'charlock_holmes/string'
|
||||
module Gitlab
|
||||
module Encode
|
||||
extend self
|
||||
|
||||
def utf8 message
|
||||
# return nil if message is nil
|
||||
return nil unless message
|
||||
|
||||
message.force_encoding("utf-8")
|
||||
# return message if message type is binary
|
||||
detect = CharlockHolmes::EncodingDetector.detect(message)
|
||||
return message if detect[:type] == :binary
|
||||
|
||||
# if message is utf-8 encoding, just return it
|
||||
return message if message.valid_encoding?
|
||||
|
||||
# if message is not utf-8 encoding, convert it
|
||||
if detect[:encoding]
|
||||
message.force_encoding(detect[:encoding])
|
||||
message.encode!("utf-8", detect[:encoding], undef: :replace, replace: "", invalid: :replace)
|
||||
end
|
||||
|
||||
# ensure message encoding is utf8
|
||||
message.valid_encoding? ? message : raise
|
||||
|
||||
# Prevent app from crash cause of encoding errors
|
||||
rescue
|
||||
encoding = detect ? detect[:encoding] : "unknown"
|
||||
"--broken encoding: #{encoding}"
|
||||
end
|
||||
|
||||
def detect_encoding message
|
||||
return nil unless message
|
||||
|
||||
hash = CharlockHolmes::EncodingDetector.detect(message) rescue {}
|
||||
return hash[:encoding] ? hash[:encoding] : nil
|
||||
end
|
||||
end
|
||||
end
|
|
@ -22,13 +22,13 @@ module Gitlab
|
|||
h[:parents] = self.parents.collect do |p|
|
||||
[p.id,0,0]
|
||||
end
|
||||
h[:author] = Gitlab::Encode.utf8(author.name)
|
||||
h[:author] = author.name
|
||||
h[:time] = time
|
||||
h[:space] = space
|
||||
h[:refs] = refs.collect{|r|r.name}.join(" ") unless refs.nil?
|
||||
h[:id] = sha
|
||||
h[:date] = date
|
||||
h[:message] = escape_once(Gitlab::Encode.utf8(message))
|
||||
h[:message] = escape_once(message)
|
||||
h[:login] = author.email
|
||||
h
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue