2014-03-07 79 views
3

我做了一個提交(49916 .....)現在我想簽出一個提交到工作目錄的文件。該文件被命名爲NEW.txt。 如果鍵入LibGit2Sharp CheckoutPaths()

的Git結賬49916 NEW.txt

到Git的猛砸其創建的NEW.txt,在我的工作目錄中的內容文件。

但我的LibGit2Sharp命令不想工作。我究竟做錯了什麼?

 var repo = new Repository(repopath); 
     var checkoutPaths = new[] { "NEW.txt"};  
     repo.CheckoutPaths("49916", checkoutPaths); 

我閱讀了每篇關於checkoutpaths函數的文章。但我無法得到它的工作。我從LibGit2Sharp簽出測試文件中獲得了該函數。

  repo.CheckoutPaths(checkoutFrom, new[] { path }); 
+0

除了@ jamill的問題,在調用CheckoutPaths()之前,您的workdir的狀態是什麼?文件是否存在? – nulltoken

+0

我測試了兩個。所以文件存在與否。現在這兩種情況都有效:) – JoeLiBuDa

回答

6

當您運行該代碼時會發生什麼?它是否運行完成,但工作目錄中沒有更改?如果您嘗試使用CheckoutModifiers.Force選項結賬,會發生什麼情況?

CheckoutOptions options = new CheckoutOptions { CheckoutModifiers = CheckoutModifiers.Force }; 
repo.CheckoutPaths("49916", checkoutPaths, options); 
+0

它運行完成,但沒有改變工作目錄。你的遊戲者解決了我的問題。我錯過了選項。非常感謝!!! – JoeLiBuDa