JGit API是否具有所有Git命令

时间:2014-12-01 09:28:34

标签: git jgit git-remote git-am

我正在尝试将一个shell脚本移植到Java,其中包含一些我在JGit API中找到的Git命令。然而,我没有设法找到遥控器或命令,这是因为不存在或者我只是在寻找错误的地方。如果它们不存在,还有另一种方法可以使用它们吗?

1 个答案:

答案 0 :(得分:1)

JGit中没有git remoteam的现成对应版本,但应该可以通过合理的努力来实现它们(的一部分)。

可以通过git remote直接访问存储库配置来模拟查询或操作配置文件的Repository.getConfig()子命令。

要清除像git remote prune这样过时的远程跟踪分支,您可以使用LsRemoteCommand获取现有远程分支的列表,并从本地配置中删除与该列表不匹配的远程分支。

替换git am可能需要更多努力。有一个ApplyCommand来应用来自给定输入流的补丁以及低级Patch类来解析差异。剩下的就是解析邮箱文件并从包含的差异和元数据(消息,作者等)中生成提交。