我即將開發一個工具,它讀出一個屬性文件,然後創建一個文件夾並從這些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與工作目錄以及如何檢測存儲庫被創造了長度。 –