2017-08-17 35 views
0

我正在與git的android項目工作。在Linux中,命令INIT項目是:與JGIT克隆清單文件

repo init -u $URL -b $BRANCH -m $MANIFEST_FILE 

然後我就可以得到./.repo文件夾(它包括源路徑構建Android項目)在MANIFEST_FILE。

我使用JGIT java應用程序的代碼片段是:

try { 
      Git repo = Git.cloneRepository() 
        .setURI(REMOTE_URL_SSH) 
        .setDirectory(localRepo) 
        .setBranchesToClone(Arrays.asList("refs/remotes/origin/build")) 
        //.setNoCheckout(true) 
        .call(); 
     } catch (GitAPIException ex) { 
      System.out.println("clone fail: " + ex); 
     } 

它將分支「參/遙控器/產地/編譯」下載所有的清單文件到我的本地回購(事實上,這個分支具有超過100個xml文件,燒燬了我的內存空間,〜2GB)。我想只使用上面的linux中的命令來獲取我想要的xml文件。在Java應用程序中怎麼可能?

提前感謝

+0

您的repo命令來自哪裏? – Ferrybig

+0

我從:https://source.android.com/source/using-repo –

回答

0

正如你在命令行期待拉所需的文件,你可以按照下面的命令

克隆回購:

repo init -u $URL -b $BRANCH -m $MANIFEST_FILE 

只更新所需的文件:

git fetch 
git checkout origin/$BRANCH -- path/to/file 
+0

我的意思是我想在我的Java應用程序中使用JGIT執行:repo init -u $ URL -b $ BRANCH -m $ MANIFEST_FILE 。是否有任何API或Java庫支持它? –

+0

@cuong jgit只能做git的事情。您需要爲您的repo程序找到一個鏈接,或者使用'processbuilder'手動執行它 – Ferrybig