在自由式作业中,在舞台构建触发器上有一个名为"GITScm轮询的GitHub钩子触发器"的选项.
屏幕截图:
.
它与webhook一起在gitlab配置" http:// myjenkins/gitlab/notify_commit "中工作正常,这意味着当某些内容被推送到存储库时,将自动触发构建.但是为什么在Multibranch Pipeline中只有一个选项名为"如果没有其他方式运行"?有没有安装插件?如何使用像自由式作业的github webhook触发Multibranch Pipeline构建
我创建了一个简单的脚本来迁移相当大的SVN存储库.而不是使用git svn clone,我正在使用git svn init,git svn fetch以便我可以指定修订并通过块获取它的块.或多或少,它是这样的:
while [ "$CURRENT_REVISION" -lt "$MAX_REVISION" ]; do
  END_REVISION=$((CURRENT_REVISION + 100))
  if [ "$END_REVISION" -ge "$MAX_REVISION" ] 
  then
    END_REVISION=$MAX_REVISION
  fi
  git svn fetch -r "$CURRENT_REVISION":"$END_REVISION"  --authors-file="$AUTHORS_FILE" 
  #increasing the current and end revision
  CURRENT_REVISION=$END_REVISION
  END_REVISION=$((CURRENT_REVISION + 100))
done
Run Code Online (Sandbox Code Playgroud)
但是,据我所知,默认情况下,fetch/clone的行为不会保留空目录.因此,我可能需要手动签入那些空目录(*我试图避免).
有一个--preserve-empty-dirs参数,git svn clone但没有git svn fetch.
是否有任何解决方法可以解决这个问题?
UPDATE
即使在官方文档中没有提到我们可以使用配置键进行获取,它实际上是有效的
@Vampire有关于这个问题的详细解释.所以我会简化这个.
在执行init存储库之后,我不得不更改远程分支的配置:
git config svn-remote.<remote name>.preserve-empty-dirs "true"
git config svn-remote.<remote name>.placeholder-filename ".gitkeep"
您可以通过查看/.git/config来验证配置.只需执行普通提取,您的目录就会被保留.