Skip to content
Learn more
Please note that GitHub no longer supports Internet Explorer versions 7 or 8.

We recommend upgrading to the latest Internet Explorer, Google Chrome, or Firefox.

If you are using IE 11, make sure you turn off "Compatibility View".

Git + .NET/Mono = ❤
C# Other
Latest commit 89ce631 @carlosmn carlosmn Merge pull request #1284 from libgit2/dispose-of-remotes
Eagerly dispose of Remotes
Failed to load latest commit information.
.nuget Upgrade development dependencies
CI Explicitly set xUnit MSBuild WorkingFolder property
Lib GenerateNativeDll task: use file name from nuget
LibGit2Sharp.Tests Fix Branch.Remote deprecations
LibGit2Sharp Merge pull request #1284 from libgit2/dispose-of-remotes
nuget.package Use NativeBinaries package for libgit2 dependency
.editorconfig .editorconfig added to repository
.gitattributes Remove union merge driver for sln, csproj files
.gitignore Use NativeBinaries package for libgit2 dependency
.mailmap Fix .mailmap
.travis.yml Run mono with --debug
CHANGES.md Add CHANGES entry for config paths in RepositoryOptions
LICENSE.md Copyrights: update for 2015
LibGit2Sharp.sln Leverage NuGet restore for development dependencies
LibGit2Sharp.sln.DotSettings Fix Resharper private member prefix setting
LibGit2Sharp.v2.ncrunchsolution Sandbox every test
README.md README: recommend 512MB ramdisk instead of 256MB
acknowledgments.md Add tarring capabilities
appveyor.yml Bump version number to 0.23 (prerelease)
build.libgit2sharp.cmd Leverage NuGet restore for development dependencies
build.libgit2sharp.sh Merge pull request #984 from bording/nativeNuget
square-logo.png Add libgit2 project logo

README.md

LibGit2Sharp

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

Prerequisites

  • 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 Coveralls.io.

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.

Authors

License

The MIT license (Refer to the LICENSE.md file)

Something went wrong with that request. Please try again.