当推送不可能时,JGit 推送不会失败

标签 jgit

我正在尝试使用 JGit 将本地存储库推送到 github 存储库:

String remote = "https://token@github.com/me/foo";
Repository repository = buildLocalRepository();
try (Git git = new Git(repository)) {
  git.push()
      .setCredentialsProvider(new UsernamePasswordCredentialsProvider("token", ""))
      .setRemote(remote)
      .call();
}

但是当远程存储库历史不同时(因此推送是不可能的)它既不会失败也不会触及远程存储库(幸运的是)。有什么帮助吗? 谢谢。

最佳答案

看起来您希望抛出一个异常;根据 Javadoc,被拒绝的 refs 不构成异常。相反,PushCommand.call() 返回一个 PushResult 对象列表,您可以检查该对象以查看每个请求的 ref 更新的状态。

关于当推送不可能时,JGit 推送不会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51140394/

相关文章:

java - JGit 中的子树推送

java - 使用 JGit 创建一个从属性克隆存储库的工具

java - 使用 Java 检查 Git 存储库是私有(private)的还是公共(public)的(例如 GitHub)

jgit - 如果 JGit 中不存在创建它的存储库,如何打开它?

java - JGit 在工作副本中检测重命名

git - 确定分支是远程分支还是本地分支(使用 JGit)?

java - Jgit javadoc 在哪里?

java - 使用 JGit 列出与给定标签关联的提交

java - 使用 JGit 创建新的本地存储库失败 "with Bare Repository has neither a working tree..."

git - 使用 JGit 的 SSH 身份验证安全地访问 Git 存储库/身份验证失败