¿LibGit2Sharp cómo resolver un conflicto?

Usando libgit2sharp estoy fusionando cambios de dos usuarios:

public void Merge(string branchName) { using (Repository repo = new Repository(this._settings.Directory)) { var branch = repo.Branches[branchName]; MergeOptions opts = new MergeOptions() { FileConflictStrategy = CheckoutFileConflictStrategy.Merge }; repo.Merge(branch, this._signature, opts); if (repo.Index.Conflicts.Count() > 0) { //TODO: resolve conflicts } } } 

Incluso si la estrategia está configurada para fusionar los conflics todavía aparecen. No encontré manera de resolver el conflicto. El objeto Conflicto no tiene método de resolución.

¿Hay alguna manera de resolver un conflicto desde el código además de eliminar un archivo o cambiarle el nombre? ¿Hay alguna funcionalidad de resolución automática?

¡Gracias por cualquier ayuda!

LibGit2Sharp hace una combinación automática. Si está viendo conflictos, entonces los archivos no se pueden fusionar. Un ejemplo de un conflicto no fusionable es cuando ambas twigs cambian la misma región del mismo archivo.

En este caso, LibGit2Sharp escribirá el archivo en el directorio de trabajo, con marcas alrededor de la región en conflicto. Por ejemplo, si algún archivo foo.txt tiene un conflicto, puede parecer:

 <<<<<<< HEAD this is a change in HEAD ======= this is a change in the other branch >>>>>>> other branch 

Para resolver el conflicto, coloque el contenido que desea aceptar en el directorio de trabajo, luego Repository.Index.Add("foo.txt") utilizando Repository.Index.Add("foo.txt") .