1

我的远程存储库将标签移至新提交。我跑:

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

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

不想争论 cli 与 JGit,但想知道如何获取更新标签?

似乎我必须接受org.eclipse.jgit.storage.file.RefUpdateforce=true但不知道如何......并且不想复制所有 FetchProcess 代码:'(

4

1 回答 1

2

这是在 JGit 3.0 中修复的已知问题,请参阅错误 388095

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

+refs/tags/*:refs/tags/*
于 2013-02-14T17:17:21.420 回答