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

问题:

    在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后续版本此处有变化,因此后面升级还需要留意该问题

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )