JGit fetch()不更新标记

时间:2013-02-14 13:51:13

标签: jgit

我的远程存储库将标记移动到新提交。 我跑:

git.fetch().setTagOpt(TagOpt.FETCH_TAGS)
   .setRemote("remoteURL")
   .setRefSpecs(new RefSpec("+refs/heads/*:refs/remotes/origin/*"))
   .call();

FetchResult包含REJECTED更新。 等效的cli git -t ...不会以这种方式运行。

不想争论cli和JGit,但我想知道如何更新标签?

似乎我必须使用org.eclipse.jgit.storage.file.RefUpdate获取force=true,但不知道如何......并且不要真正想要复制所有FetchProcess代码:'(

1 个答案:

答案 0 :(得分:2)

这是一个已在JGit 3.0中修复的已知问题,请参阅bug 388095

对于适用于早期版本的解决方案,为标记添加显式refspec有助于:

+refs/tags/*:refs/tags/*