LibGit2Sharp Pull () no tira de los files eliminados

Hice un progtwig para extraer de un repository público alojado en mi github.Clonar un proyecto funciona muy bien (la forma en que lo hago de todos modos), pero he estado tratando de hacer que funcione para extraer todo y una vez que eliminas un file ya no tira de ese file. En mi caso eliminé el .gitignore del repository extraído (el clonado básicamente) y ahora el repo.Network.Pull() no quiere volver a downloadlo desde el repository. Lo mismo ocurre con cualquier otro file que elimine.

  private void PullButton_Click(object sender, EventArgs e) { if (!string.IsNullOrWhiteSpace(BrowseText.Text)) if (Directory.Exists(BrowseText.Text)) { AddToDebugBox("Starting Pull request to \"" + BrowseText.Text + "\"..."); if (!Repository.IsValid(BrowseText.Text)) { AddToDebugBox("No Git init found at: \"" + BrowseText.Text + "\"..."); Repository.Clone("https://github.com/sxbrentxs/FPS-GLU.git", BrowseText.Text); AddToDebugBox("Created new git init at: \"" + BrowseText.Text + "\"."); } else { AddToDebugBox("Found git init at: \"" + BrowseText.Text + "\"."); using (Repository repo = new Repository(BrowseText.Text)) { AddToDebugBox("Starting pull request..."); PullOptions options = new PullOptions(); options.FetchOptions = new FetchOptions(); repo.Network.Pull(new Signature("Updater", "Updater@RoZoShoGitUpdater.nl", new DateTimeOffset(DateTime.Now)), options); AddToDebugBox("Completed pull request."); AddToDebugBox("Calculating differences..."); TreeChanges changes = repo.Diff.Compare<TreeChanges>(); AddToDebugBox(string.Format("{0} files changed.", changes.Count())); foreach (TreeEntryChanges c in changes) AddToDebugBox(string.Format("Path: {0} | Change made: {1}", c.Path, c.Status)); } AddToDebugBox("Operations completed."); cleanready = !cleanready; } } else AddToDebugBox("Cannot pull to non-existing path: \"" + BrowseText.Text + "\"..."); else AddToDebugBox("Cannot pull to nothing: \"" + BrowseText.Text + "\"..."); } 

Este es el logging que tengo al final de presionar mi button de extracción:

 23:41:55 > Folder: "E:\Projects\Test" selected. 23:41:58 > Starting Pull request to "E:\Projects\Test"... 23:41:58 > Found git init at: "E:\Projects\Test". 23:41:58 > Starting pull request... 23:41:59 > Completed pull request. 23:41:59 > Calculating differences... 23:41:59 > 1 files changed. 23:41:59 > Path: .gitignore | Change made: Deleted 23:41:59 > Operations completed. 

¿Qué estoy olvidando o haciendo mal?

Solo tiene que hacer un pago forzoso como lo haría desde la línea de cmd con git :

Ejemplo de un checkout forzado al jefe de la twig "master":

 head = repo.Branches.Single (branch => branch.FriendlyName == "master"); var checkoutOptions = new CheckoutOptions (); checkoutOptions.CheckoutModifiers = CheckoutModifiers.Force; repo.Checkout (head, checkoutOptions);