Skip to content
Snippets Groups Projects
Commit f1ac2a61 authored by Saito's avatar Saito
Browse files

remove encode lib, clean all encoded area.

parent 96211b01
No related branches found
No related tags found
1 merge request!1956release a new version of grit_ext, added it into Gitlab.
# Controller for viewing a file's blame
class BlobController < ProjectResourceController
include ExtractsPath
include Gitlab::Encode
 
# Authorize
before_filter :authorize_read_project!
Loading
Loading
class RefsController < ProjectResourceController
include Gitlab::Encode
 
# Authorize
before_filter :authorize_read_project!
Loading
Loading
class Commit
include ActiveModel::Conversion
include Gitlab::Encode
include StaticModel
extend ActiveModel::Naming
 
Loading
Loading
@@ -112,7 +111,7 @@ class Commit
end
 
def safe_message
@safe_message ||= utf8 message
@safe_message ||= message
end
 
def created_at
Loading
Loading
@@ -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?
Loading
Loading
@@ -133,7 +132,7 @@ class Commit
end
 
def committer_name
utf8 committer.name
committer.name
end
 
def committer_email
Loading
Loading
Loading
Loading
@@ -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
Loading
Loading
Loading
Loading
@@ -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
Loading
Loading
@@ -32,4 +32,4 @@
%td.lines
= preserve do
%pre
= Gitlab::Encode.utf8 lines.join("\n")
= lines.join("\n")
Loading
Loading
@@ -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?
Loading
Loading
Loading
Loading
@@ -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
 
Loading
Loading
Loading
Loading
@@ -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
# 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
Loading
Loading
@@ -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
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment