Git + .NET/Mono = ❤
Switch branches/tags
Clone or download
Latest commit 5139749 Sep 14, 2018
Failed to load latest commit information.
.github github: add an issue template Apr 18, 2018
LibGit2Sharp.Tests Merge pull request #1567 from libgit2/remove-epoch Sep 13, 2018
LibGit2Sharp Merge pull request #1567 from libgit2/remove-epoch Sep 13, 2018
NativeLibraryLoadTestApp Rename TestApp to NativeLibraryLoadTestApp Apr 16, 2018
Targets Improve GenerateUniqueIdentifierCs Aug 25, 2018
.editorconfig Fix editorconfig Aug 25, 2018
.gitattributes Remove union merge driver for sln, csproj files May 30, 2015
.gitignore Trim .gitignore of unnecessary entries Apr 24, 2017
.mailmap Fix .mailmap Apr 28, 2014
.travis.yml Update travis .NET Core SDK version Aug 25, 2018 Prepare for v0.26 Apr 16, 2018 vNext -> master for CONTRIBUTING Apr 20, 2016
Directory.Build.props Avoid IVT Apr 16, 2018
Directory.Build.targets Use new mechanism to include PDBs in package Nov 19, 2017 Copyrights: update for 2015 Jan 19, 2015
LibGit2Sharp.sln Add code generation targets to Solution Items Apr 17, 2018
LibGit2Sharp.sln.DotSettings Fix Resharper private member prefix setting May 15, 2015
LibGit2Sharp.v2.ncrunchsolution Sandbox every test Jan 4, 2015 README: remove coveralls Sep 14, 2018 Add tarring capabilities Dec 13, 2013
appveyor.yml Update appveyor.yml for xunit runner version Aug 27, 2018
azure-pipelines.yml Set up CI with Azure Pipelines Sep 14, 2018
buildandtest.cmd build script: update to xunit 2.4.0 Sep 14, 2018 Fix build scripts Aug 24, 2017
libgit2sharp.snk Update code generation to use .NET SDK projects Mar 12, 2017
nuget.config Remove unused package sources Nov 19, 2017
square-logo.png Add libgit2 project logo May 27, 2012
version.json version.json: correct our maint branch names Jun 11, 2018


master azurepipelines master win master nix coverity

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


  • Windows: .NET 4.6.1+
  • Linux/Mac OS X: Mono 5.4+

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)

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.
  1. Configure your anti-virus software to ignore the LibGit2TestPath path.
  2. 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)