Git + .NET/Mono = ❤
C# Other
Latest commit aa06026 Jan 13, 2017 @carlosmn carlosmn committed on GitHub Merge pull request #1409 from libgit2/ethomson/managedpath
NativePath: use Assembly.CodeBase
Failed to load latest commit information.
.nuget Upgrade development dependencies Jul 4, 2015
CI Use Travis' csharp language setup Apr 13, 2016
Lib GenerateNativeDll task: use file name from nuget Aug 23, 2015
LibGit2Sharp.Tests Specify a sorting method in in the file history test Dec 17, 2016
LibGit2Sharp NativePath: use Assembly.CodeBase Jan 13, 2017
nuget.package Use NativeBinaries package for libgit2 dependency May 16, 2015
.editorconfig .editorconfig added to repository Sep 2, 2014
.gitattributes Remove union merge driver for sln, csproj files May 30, 2015
.gitignore Ignore .vs/ folder Mar 29, 2016
.mailmap Fix .mailmap Apr 28, 2014
.travis.yml CI: build maint branches Jan 11, 2017 Update CHANGES for the 0.23 release Dec 23, 2016 vNext -> master for CONTRIBUTING Apr 20, 2016 Copyrights: update for 2015 Jan 19, 2015
LibGit2Sharp.sln Leverage NuGet restore for development dependencies Jan 5, 2015
LibGit2Sharp.sln.DotSettings Fix Resharper private member prefix setting May 15, 2015
LibGit2Sharp.v2.ncrunchsolution Sandbox every test Jan 4, 2015 README: recommend 512MB ramdisk instead of 256MB Oct 24, 2015 Add tarring capabilities Dec 13, 2013
appveyor.yml CI: build maint branches Jan 11, 2017
build.libgit2sharp.cmd Leverage NuGet restore for development dependencies Jan 5, 2015 Use Travis' csharp language setup Apr 13, 2016
square-logo.png Add libgit2 project logo May 27, 2012


LibGit2Sharp brings all the might and speed of libgit2, a native Git implementation, to the managed world of .NET and Mono.


  • Windows: .NET 4.0+
  • Linux/Mac OS X: Mono 3.6+

Online resources

Troubleshooting and support

  • Usage or programming related question? Post it on StackOverflow using the tag libgit2sharp
  • Found a bug or missing a feature? Feed the issue tracker
  • Announcements and related miscellanea through Twitter (@libgit2sharp)

Current project status

The CI builds are generously hosted and run on the Travis and AppVeyor infrastructures.

Windows (x86/amd64) Linux/Mac OS X
master master win master nix
vNext vNext win vNext nix

The security-oriented static code analysis is kindly run through the Coverity service. Code coverage is kindly run through

Static Analysis Code Coverage
vNext coverity coveralls

Quick contributing guide

  • Fork and clone locally
  • Create a topic specific branch. Add some nice feature. Do not forget the tests ;-)
  • Send a Pull Request to spread the fun!

More thorough information available in the wiki.

Optimizing unit testing

LibGit2Sharp strives to have comprehensive and robust unit test suite to insure the quality of the software and to assist new contributors and users who can use the tests as sample to jump start development. There are over one-thousand unit-tests for LibGit2Sharp, this number will only grow as functionality is added.

You can do a few things to optimize running unit-tests on Windows:

  1. Set the LibGit2TestPath environment variable to a path in your development environment.
    • If the unit-test framework cannot find the specified folder at runtime, it will fall back to the default location.
  2. Configure your anti-virus software to ignore the LibGit2TestPath path.
  3. Install a RAM disk like IMDisk and set LibGit2TestPath to use it.
    • Use imdisk.exe -a -s 512M -m X: -p "/fs:fat /q /v:ramdisk /y" to create a RAM disk. This command requires elevated privileges and can be placed into a scheduled task or run manually before you begin unit-testing.



The MIT license (Refer to the file)