2015-08-27 82 views
2

我正在使用下面的java代碼克隆git倉庫。jGit克隆從Java的遠程git倉庫

localRepo = new FileRepository("/Users/myfolder/git" + "/.git"); 
      git = new Git(localRepo); 
        Git.cloneRepository().setURI("[email protected]:mygit/TestGit.git") 
        .setDirectory(new File("/Users/myfolder/git")).call(); 

我可以看到在文件夾/用戶/ MyFolder中/ GIT中克隆了一個項目,但在控制檯日誌例外之我見

fatal: Could not switch to 

任何想法,爲什麼異常被拋出,即使一切工作正常?

回答

0

該錯誤來自於git本身abspath.c#real_path_internal(),它返回等價於指定路徑的實際路徑(即絕對路徑,解析符號鏈接並刪除額外的斜槓)。

確保您使用的是絕對路徑,並嘗試使用/Users/myfolder/git(無.git),如in this cookbook example

+0

我試圖改變到localRepo =新FileRepository文件(「/用戶/ MyFolder文件/混帳「);還是一樣的錯誤。 – Upen

+0

@Upen在「'/ Users/myfolder/git'」中是否有.git文件夾?這個文件夾是git回購嗎?你在Windows或Linux或Mac上? ('/用戶'讓我想到Windows,但它可能是Mac) – VonC

+0

我在Mac上。每次運行程序時,都會創建「git」文件夾。在「git」下的 – Upen

0

沒有必要與git GIT中結果= Git.cloneRepository()。setURI(REMOTE_URL).setDirectory(的localPath).CALL()