通过redmine repository看代码的一个问题

发布于 2022-09-08 21:46:50 字数 1532 浏览 10 评论 0

转:jak47

通过redmine repository看代码的一个问题

通过redmine repository看代码,有时候按review按钮,可是浏览器却弹出download画面, 导致不能和看DIFF一样直接在线观看,非常不方便。

经过google搜索, 有人回答原因如下。

ruby中如果string中有超过30%ascii码或者回车换行符以外的字符的话, 就会被认为是二进制数据,导致不能在网页中直接打开,而显示了Download画面。

解决方法

参照以下DIFF文件

Diff代码

  1. Index: app/controllers/repositories_controller.rb   
  2. ===================================================================   
  3. --- app/controllers/repositories_controller.rb    (revision 1709)   
  4. +++ app/controllers/repositories_controller.rb    (working copy)   
  5. @@ -102,7 +102,7 @@   
  6.   
  7.      @content = @repository.cat(@path, @rev)   
  8.      show_error_not_found and return unless @content   
  9. -    if 'raw' == params[:format] || @content.is_binary_data?   
  10. +    if 'raw' == params[:format] || @content.include?("x00")   
  11.        # Force the download if it's a binary file   
  12.        send_data @content, :filename => @path.split('/').last   
  13.      else   

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文