¿Qué tiene una mejor implementación .NET, Mercurial o git?

Necesito acceder a algunos DVCS desde mi código .NET y porque estoy familiarizado con Mercurial y Git, ¿cuál de los dos tiene una mejor biblioteca cliente .NET? Y no me refiero solo a un contenedor, me refiero a una implementación completa de .NET que no requiera ninguna llamada de línea de command en segundo plano.

Nota: Si la respuesta fue Bazaar o algún otro DVCS con el que no estoy familiarizado, está bien, el DVCS real no es tan importante.

Editar: estoy buscando respuestas de personas que realmente han probado algunos clientes .NET y pueden juzgar su calidad.

No puedo hablar por Git, pero Mercurial no tiene API en ningún idioma, todo está destinado a ser hecho a través de la línea de command.

NGit no es un envoltorio. https://github.com/slluis/ngit

Está basado en JGit y es una biblioteca de acceso liviano para el mundo .NET.

Impulsa, por ejemplo, la integración de control de fuente monodesarrollo y puede hacer todo lo que puede hacer con las herramientas de command-line, excepto "Mire ma, sin binarys externos"

Ambos tienen soporte .NET nativo:

  • Git – Git #
  • Mercurial – Mercurial.NET

La decisión es tuya.

No hay una implementación "nativa" de Mercurial (y es probable que nunca lo haya). Su mejor opción sería el proyecto hglib, que utiliza el modo cmdserver de Mercurial (parte de un proyecto GSoC ).

Para resumir lo que se recopiló en las respuestas: parece que Mercurial no tiene y probablemente no tendrá un puerto .NET pronto, mientras que para Git, al less estos dos puertos parecen utilizables:

  • NGit (puerto automatizado de JGit)
  • GitSharp