JGit 检查权限

JGit Check Permissions

在 JGit 中,是否可以在不执行操作(提供用户名和密码)的情况下检查开发人员权限?

例如:是否可以检查用户是否可以在不克隆存储库的情况下克隆它?

Ex2:是否可以检查用户是否可以在不推送的情况下推送到存储库?

Ex1

我想,git本身不支持,所以不支持。 (虽然我可能是错的)

作为一种解决方法,可以使用 CloneCommand#setNoCheckout(boolean) [1],它会阻止下载任何分支(克隆命令应该非常快)。如果调用成功,克隆的存储库(克隆到某个临时目录)可能会立即删除。

Ex2

对于推送,可以使用dry-run。由 JGit [2].

支持

大多数命令都有某种形式的 dry-run 选项。

参见:Do all git commands have a dry-run option?

--

[1] https://javadoc.io/doc/org.eclipse.jgit/org.eclipse.jgit/latest/org.eclipse.jgit/org/eclipse/jgit/api/CloneCommand.html

[2] https://javadoc.io/doc/org.eclipse.jgit/org.eclipse.jgit/latest/org.eclipse.jgit/org/eclipse/jgit/api/PushCommand.html