GitSharp vs NGit

serega picture serega · May 13, 2011 · Viewed 15.8k times · Source

What is the current state of GitSharp and NGit and which one is better suited for Git automation from .NET?

Answer

nulltoken picture nulltoken · May 14, 2011
  • GitSharp (at least, its Core) was a manual, line by line, port of JGit. Its development has currently been paused since August 2010. However, some products still rely on it (e.g. Git-dot-aspx).

  • NGit is an automated port of JGit. It keeps on being updated against JGit and continuously benefits from JGit improvements and bug fixes. NGit is currently used to bring Git features to MonoDevelop.

Performance wise, cloning a huge repository (Mono or Linux, for instance) with GitSharp was a long and painful experience. I haven't tried with NGit though.

Considering those facts, from a support/maintenance perspective, I would suggest you to use NGit over GitSharp.

EDIT:

GitSharp web site now states

GitSharp development is currently on hold because we believe that the libgit2 project and its C# bindings libgit2sharp are far more promising to work on.