`
jak47
  • 浏览: 74772 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

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

阅读更多

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

 

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

 

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

 

 

解决方法

 

参照以下DIFF文件

Index: app/controllers/repositories_controller.rb
===================================================================
--- app/controllers/repositories_controller.rb    (revision 1709)
+++ app/controllers/repositories_controller.rb    (working copy)
@@ -102,7 +102,7 @@

     @content = @repository.cat(@path, @rev)
     show_error_not_found and return unless @content
-    if 'raw' == params[:format] || @content.is_binary_data?
+    if 'raw' == params[:format] || @content.include?("\x00")
       # Force the download if it's a binary file
       send_data @content, :filename => @path.split('/').last
     else 
分享到:
评论

相关推荐

    免费下载!!! ruby on rails -- redmine 项目的表结构详细说明以及关联关系

    Redmine 是一个用 Ruby on Rails 开发的项目管理软件,提供了问题跟踪、项目管理和文档协作等功能。本文将深入探讨 Redmine 的主要数据库表结构及其关联关系。 1. **用户(User)**: `users` 表包含了用户的个人信息...

    redmine相关资料

    Redmine 是一个开源的、基于Web的项目管理应用软件,由Ruby on Rails开发。它提供了问题跟踪、项目管理和文档管理等功能,广泛应用于软件开发团队,帮助团队协作、追踪任务进度和管理项目。作为一位Redmine管理员,...

    SVN全操作介绍

    SVN,全称为Subversion,是一个开源的版本控制系统,用于管理软件项目的源代码和文档。它允许团队成员在开发过程中跟踪和控制文件的变化,同时提供了冲突解决机制,确保多个人协同工作时的版本一致性。 **二、SVN...

    SVN服务端工具压缩包

    - 分支(Branch):创建项目的一个独立副本,用于开发新功能或修复,不干扰主干。 - 合并(Merge):将分支的更改合并回主干或其他分支,保持代码同步。 5. **SVN备份与恢复** - 备份:定期导出版本库到外部文件...

    配置PHP小型团队的开发&测试环境

    Redmine是一个开源的项目管理和问题跟踪系统。 **操作步骤:** 1. 安装Redmine及其依赖项; 2. 创建数据库; 3. 配置Redmine; 4. 启动Web服务器。 #### 六、数据库备份 (mysqlhotcopy) 数据库备份对于保障数据...

    AnkhSvn操作手册-基于版本2.x-守护者翻译整理

    AnkhSVN为Visual Studio提供了一个源代码控制系统。通过此插件,开发者可以直接在Visual Studio环境中执行版本控制操作,如检查文件状态、签出、签入等。 ##### 什么是版本库浏览器? 版本库浏览器(Repository ...

    Build WebkitGTK+

    WebKitGTK+ 是一个基于 GTK 的 WebKit 版本,它可以用来开发跨平台的 Web 浏览器和其他需要渲染 Web 内容的应用程序。本篇文章将详细介绍如何从源码构建 WebKitGTK+,包括源码获取、依赖环境搭建、编译及运行的详细...

    实习生培训1

    - **TortoiseSVN**: 是一个易于使用的SVN客户端,它通过集成到Windows资源管理器中来提供SVN的功能。 - **安装与配置**: - 下载并安装TortoiseSVN; - 使用TortoiseSVN客户端从指定的SVN仓库地址(如:...

Global site tag (gtag.js) - Google Analytics