Error 500 - ArgumentError (invalid byte sequence in UTF-8)
Created by: serphen
Hello,
Some features don't work when commit contains non UTF-8 valid characters inside a file (example charset CP1252, some old files (even Word documents) are using this charset). When failing gitlab triggers error 500.
==> Broken feature: Check the ability to automatically merge
Completed 500 Internal Server Error in 1831ms ArgumentError (invalid byte sequence in UTF-8): app/models/merge_request.rb:90:in `check_if_can_be_merged' app/controllers/merge_requests_controller.rb:104:in `automerge_check'
==> Broken feature: Closing a merge:
Completed 500 Internal Server Error in 383ms ArgumentError (invalid byte sequence in UTF-8): app/controllers/merge_requests_controller.rb:90:in `block in update' app/controllers/merge_requests_controller.rb:89:in `update'
==> Broken feature: Diff on a merge request
Started GET "/projectA/merge_requests/27/diffs?_=1335533564525" for 127.0.0.1 at 2012-04-27 13:32:44 +0000 -- Rendered commits/_text_file.html.haml (309.9ms) Rendered commits/_text_file.html.haml (9.1ms) Rendered commits/_diffs.html.haml (10709.8ms) Rendered merge_requests/_diffs.html.haml (10717.3ms) Rendered merge_requests/diffs.js.haml (10725.1ms) Completed 500 Internal Server Error in 11027ms ActionView::Template::Error (invalid byte sequence in UTF-8): 3: = link_to_function "Diff suppressed. Click to show", "showDiff(this)", :class => "supp_diff_link" 4: 5: %table{:class => "#{'hide' if too_big}"} 6: - each_diff_line(diff.diff.lines.to_a, index) do |line, type, line_code, line_new, line_old| 7: %tr.line_holder 8: - if type == "match" 9: %td.old_line= "..."
There is no work-around.