我即将开发一个工具,它读出一个属性文件,然后创建一个文件夹并从这些URL中抽取仓库。使用JGit创建一个克隆仓库属性的工具
其实我设法让它创建一个文件夹/子文件夹,复制一个项目到它:
File repoOne = new File("repositories/repo1");
Git git = Git.cloneRepository()
.setURI("https://github.com/xetra11/renderay.git")
.setDirectory(repoOne)
.call();
当我今天来看,我收到以下错误消息的第二次:
Exception in thread "main" org.eclipse.jgit.api.errors.JGitInternalException: Destination path "repo1" already exists and is not an empty directory
我不明白为什么JGit试图覆盖现有的目录。我知道在那里重新注册是没有意义的 - 但令我困扰的是JGit不会“移动”到这个文件夹并执行命令。我即将在现有的存储库中执行FetchCommand
。在目前的状态下,我认为JGit会一直告诉我这个目录已经存在。
任何想法如何让他只需执行文件夹中的命令如果它存在?
我用这种方法来实际创建一个“非裸”存储库的问题。 'Git.init()。setDirectory(dirPath).call()'给了我一个“非裸”,但我还没有找到一种方法来检查是否已经创建了存储库。 – xetra11
根据_folder_表示什么,您可能需要使用'BaseRepositoryBuilder :: setWorkTree()'而不是':: setGirDir()'回答中提到的文章讨论了git dir与工作目录以及如何检测存储库被创造了长度。 –