文档章节

Redmine关联Git版本库使用fetch_changesets依旧不能刷新解决方法

陌寻
 陌寻
发布于 2017/07/23 21:32
字数 466
阅读 42
收藏 0
点赞 0
评论 0

问题:

    在redmine中配置项目的版本库为git时,第一次配置好,会自动提取git中的信息,但是之后做提交操作,使用hook调用/sys/fetch_changesets,触发刷新,redmine没有跟着更新,这是为何?

 

调查:

    尝试多次修改那个几个设置,都不起作用,最终经过尝试确认,另外也无意中看到网上有人说,需要手动到版本库路径下拉取,然后再去调fetch_changesets。也就是说redmine的fetch_changesets只是单纯的从指定的git中提取版本库信息到数据库,不会做从远程仓库拉取操作

 

解决方案:

    方案一:

     在git服务端,push的hook中添加一步,在redmine配置的版本库路径下做次拉取,然后再去fetch_changesets。

       此方案操作简单,但限制不小,要么git服务和redmine在一台机子上,方便hook直接在redmine版本库路径下pull,要么自己想法让redmine所在机器提供接口进行相应的pull

    方案二:

        修改redmine代码,lib\redmine\scm\adapters\git_adapter.rb文件def branches处

        def branches
          return @branches if @branches
          @branches = []

          
          logger.info "### this two step were added by Moxun at 2017-07-23. ###"
          logger.info "1. fetch --all"
          cmd_args = %w|fetch --all|
          git_cmd(cmd_args)

          logger.info "2. reset --hard origin"
          cmd_args = %w|reset --hard origin|
          git_cmd(cmd_args)
          logger.info "### this two step were added by Moxun at 2017-07-23. ###"

          cmd_args = %w|branch --no-color --verbose --no-abbrev|

.........

 def git_cmd(args, options = {}, &block)
          repo_path = root_url || url

          将full_args = ['--git-dir', repo_path]一行改为如下(这样命令才可以在正确的路径下执行):
          full_args = ['-C', repo_path + '/..', '--git-dir', repo_path]

          if self.class.client_version_above?([1, 7, 2])
            full_args << '-c' << 'core.quotepath=false'
            full_args << '-c' << 'log.decorate=no'
          end
          full_args += args

 

            这个是在redmine 3.4.2上修改的,不排除后续redmine后续版本此处有变化,因此后面升级还需要留意该问题

 

 

 

© 著作权归作者所有

共有 人打赏支持
陌寻
粉丝 2
博文 21
码字总数 5586
作品 0
西安
后端工程师
Bitnami Redmine 与 gerrit 整合问题解决

问题: 使用Bitnami一键安装redmine后可以正常使用,但是在整合“版本库”功能与git整合后,页面报404错误: The entry or revision was not found in the repository. 版本库中不存在该条目...

顾起威 ⋅ 2015/12/15 ⋅ 0

BitNami一键安装Redmine

简介 对于一个新手,如果严格按照官方文档来安装redmine,我想会“疯”掉的。有没有一种简便的方法。有滴,那就是BitNami。 BitNami提供redmine的一键安装程序,简单、易用、方便。 2. 安装 ...

shezjl ⋅ 2015/05/26 ⋅ 0

redmine 中文管理员手册(redmine admin_guide)

Redmine 管理员手册 Redmine 管理员手册 基于Redmine 0.9 版本 作者: 蒋 鑫, 王 胜 公司: 北京群英汇信息技术有限公司 联系: http://www.ossxp.com/ 版本: 0.9.3-4 日期: 2010-05-26 17:05:...

openexpress1 ⋅ 2010/06/29 ⋅ 0

快速入门系列--GIT版本控制工具

由于GIT刚刚开始使用不久,经常会在Merge时出现没有change-id的情况,在结合gerrit使用时,经常出现不能提交的情形,使得自己很困扰。最近有次熬夜加班,在代码完成后,由于多人在很短时间内...

moki_oschina ⋅ 2016/11/23 ⋅ 0

git 推送至svn使用记录

一,配置svn 保存明文密码 这样,使用git推的时候,就不会每次询问密码了。 With recent versions of Subversion (~ 1.8) you can configure password caching via $HOME/.subversion/server...

荒野无灯 ⋅ 2014/07/15 ⋅ 0

1.0.CentOS 6.7 mini 安装 部署 redmine & 中文gitlab 8.6.5

安装环境与部署程序: #数据库服务器操作系统可选用windows server 或 Linux 或 其它类Unix系统。 #数据库系统可选用MySQL或PostgreSQL,这里选用MySQL 5.6 1、系统centos6系列mini安装 2、最...

ipenglei ⋅ 2016/04/19 ⋅ 0

Redmine 中文用户手册

Redmine 用户手册 基于Redmine 0.9 版本 作者: 蒋 鑫, 王 胜 公司: 北京群英汇信息技术有限公司 联系: http://www.ossxp.com/ 版本: 0.9.3-4 日期: 2010-05-26 17:05:32 目录 1 说明 2 用户账...

openexpress1 ⋅ 2010/06/22 ⋅ 6

在Linux系统上,使用git提交代码~~

$ mkdir learngit $ cd learngit $ pwd 初始化一个Git仓库 git init ,把这个目录变成Git可以管理的仓库(目录下多了一个.git的目录 ls -a) 添加文件到Git仓库: git add 把文件添加到仓库 git ...

燃烧的大脑 ⋅ 2016/09/25 ⋅ 0

git 命令常用总结

极速版: 查看分支: git branch 或者 git branch -v A) 创建分支 git branch mystudygit1.0 B)拉取分支 1、查看远程分支:git branch -a 2、拉取并切换分支:git checkout -b v1.3.11 3、查...

MarkCo ⋅ 2016/01/27 ⋅ 0

Git学习教程

Git是一个分布式的文件版本控制系统,每个电脑都有一个完整的文件库和版本库,文件库之间可以互相推送和抓取版本信息。CVS和SVN是集中式的文件版本控制系统,文件库和版本信息集中存放在服务...

JAVA_NINA ⋅ 2016/10/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 57分钟前 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 今天 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 今天 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

Dockerfile基础命令总结

FROM 指定使用的基础base image FROM scratch # 制作base image ,不使用任何基础imageFROM centos # 使用base imageFROM ubuntu:14.04 尽量使用官方的base image,为了安全 LABEL 描述作...

ExtreU ⋅ 昨天 ⋅ 0

存储,对比私有云和公有云的不同

导读 说起公共存储,很难不与后网络公司时代的选择性外包联系起来,但尽管如此,它还是具备着简单和固有的可用性。公共存储的名字听起来也缺乏专有性,很像是把东西直接堆放在那里而不会得到...

问题终结者 ⋅ 昨天 ⋅ 0

C++难点解析之const修饰符

C++难点解析之const修饰符 c++ 相比于其他编程语言,可能是最为难掌握,概念最为复杂的。结合自己平时的C++使用经验,这里将会列举出一些常见的难点并给出相应的解释。 const修饰符 const在c...

jackie8tao ⋅ 昨天 ⋅ 0

聊聊spring cloud netflix的HystrixCommands

序 本文主要研究一下spring cloud netflix的HystrixCommands。 maven <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-clo......

go4it ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部