속성 파일을 읽고 밖으로 폴더를 만들고 해당 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이 기존 디렉토리를 덮어 쓰려고하는지 이해하지 못합니다. 나는 그곳에 recloning하는 것이 무의미하다는 것을 안다.하지만 JGit이이 폴더로 "옮겨 가서"명령을 실행하는 것이 아니다. 이미 기존 저장소에 FetchCommand
을 실행하려고합니다. 현재 상태에서 JGit은 항상 디렉토리가 이미 있음을 알리는 것으로 가정합니다.
어떤 아이디어가 있다면 폴더에 명령을 단순히 실행시키는 방법은 있습니까?
"비 - 베어 (non-bare)"저장소를 실제로 만들려면이 방법으로 문제가 있습니다. 'Git.init(). setDirectory (dirPath) .call()'은 나에게 "비 - 베어"를 제공하지만 저장소가 이미 생성되었는지 확인하는 방법을 찾지 못했습니다. – xetra11
_folder_가 나타내는 내용에 따라':: setGirDir()'대신'BaseRepositoryBuilder :: setWorkTree()'를 사용해야 할 수도 있습니다.이 기사에서 언급 한 기사에서는 git dir과 work dir에 대해 논의하고 저장소 길이가 만들어졌습니다. –