仅使用JGit获取单个标记

时间:2018-02-16 10:55:02

标签: git jgit

在git控制台上,我可以执行以下操作,仅从远程存储库中获取单个标记(远程未添加):

git fetch -n git@github.company.com:organization/repo.git tag mytag

我想尝试使用JGit,但我无法解决它。

fetcher.remote = remoteName   //  (in this case remote is already added)
fetcher.setRefSpecs("${opts.mytagname}")
fetcher.setTagOpt(TagOpt.NO_TAGS)
fetcher.call()

不幸的是它不起作用。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

要获取特定标记,您需要提供明确要求此标记的refspec。使用JGit也可以从未配置的遥控器中获取。 @PreAuthorize("hasRole('ROLE_VIEW')")方法接受已知(即已配置)远程的名称,如FetchCommand::setRemote或远程存储库的完整URL。

以下测试说明了两者:

origin