2012-10-16 30 views
1

我想創建一個目錄並使用javagit庫將它初始化爲一個git存儲庫。 下面是我使用的代碼片段:試圖初始化一個使用java git庫的git存儲庫

repositoryDirectory = FileUtilities.createTempDirectory("C:/Madhu/ReleaseManagerRepo/Demo_gitRepository"); 
System.out.println("Git Repository Location : " + repositoryDirectory.getAbsolutePath()); 
//get the instance of the dotGit Object 
dotGit = DotGit.getInstance(repositoryDirectory); 
System.out.println("DotGit==========="+dotGit.toString()); 
//Initialize the repository ,similar to git init 
dotGit.init(); 

我可以看到目錄中創建。執行dotGit.init()後,我沒有看到一個.git(我從命令行運行git init命令時得到的)。目錄在代碼中指定的目錄下。

我的第二個問題是我想從我的代碼創建一個文件,並且想將它添加到git存儲庫。下面是相同的代碼片段:

File file = FileUtilities.createFile(repositoryDirectory, "README", "First file in the git repository"); 

//get the current working tree from the git repository 
WorkingTree wt = dotGit.getWorkingTree(); 
GitAddResponse ar = wt.add(); 
wt.commitAll("First commit to the git repository"); 

我下面得到一個例外:

Exception in thread "main" java.io.IOException: 020100: Unable to start sub-process. 
    at edu.nyu.cs.javagit.client.cli.ProcessUtilities.startProcess(ProcessUtilities.java:50) 
    at edu.nyu.cs.javagit.client.cli.ProcessUtilities.runCommand(ProcessUtilities.java:141) 
    at edu.nyu.cs.javagit.client.cli.CliGitAdd.add(CliGitAdd.java:49) 
    at edu.nyu.cs.javagit.api.commands.GitAdd.add(GitAdd.java:67) 
    at edu.nyu.cs.javagit.api.GitFileSystemObject.add(GitFileSystemObject.java:185) 
    at edu.nyu.cs.javagit.api.WorkingTree.add(WorkingTree.java:130) 
    at javagit.JavaGitDemo.main(JavaGitDemo.java:41) 
Caused by: java.io.IOException: CreateProcess: git add C:\Madhu\ReleaseManagerRepo\Demo_gitRepository\README error=2 
    at java.lang.ProcessImpl.create(Native Method) 
    at java.lang.ProcessImpl.<init>(Unknown Source) 
    at java.lang.ProcessImpl.start(Unknown Source) 
    at java.lang.ProcessBuilder.start(Unknown Source) 
    at edu.nyu.cs.javagit.client.cli.ProcessUtilities.startProcess(ProcessUtilities.java:48) 
    ... 6 more 

我已經加入了git的/ bin添加到我的PATH環境變量。但我仍然看到同樣的例外。我不確定我是否錯過了其他任何東西。

請問您能否提出建議。

Regards, Madhusudhan。

回答

1

發帖死了,但我剛剛通過向系統環境變量添加git路徑解決了同樣的問題 - article