Browse files


  • Loading branch information...
1 parent 76e9377 commit f8bc191c019c08033da2595d8e16375f04f48a4f @nulltoken nulltoken committed Apr 9, 2011
Showing with 12 additions and 82 deletions.
  1. +12 −82
@@ -1,90 +1,20 @@
+# LibGit2Sharp
+LibGit2Sharp is an thin .Net layer (well.. we _try_ to keep it as thin as possible :-) ) wrapping the [libgit2]( linkable C Git library.
-libgit2sharp provides .NET bindings for libgit2.
-[libgit2]( itself is a new library
-implementing the git data storage model in C.
+It provides a very opiniated API which should be very easy to use and discover.
-The goal of the project is to provide up to date .NET bindings
-for libgit2. LibGit2Sharp.Core is practically a wrapper around
-the basic libgit2 api, while LibGit2Sharp provides easier and safer
+## Contributing guide
-.NET Runtime
+ - Fork and clone locally
+ - Configure your repo to convert line endings on commit so they are always LF in the repo:
+ - Create a topic specific branch. Add some nice feature. Do not forget the tests ;-)
+ - Send a Pull Request to spread the fun!
-A .NET 3.5 compatible runtime is required.
+## Authors
-Mono 2.6.7 (the version used by Ubuntu and debian) works perfectly.
-But the next major versions, 2.8, 2.10, don't work correctly.
-It is probably a problem of the mono implementation, since it works
-perfectly on windows.
+The LibGit2Sharp [committers](
-All binaries and intermediate products are available in the
-repository. Lookup deps and libs. The compiled libgit2 as a windows
-binary can be found in deps. MSVCR100.dll is needed as dependency.
-The xml output of gccxml and the NativeMethods.cs are all
-checked in into the repository, so you don't have to read further on
-if you are not compiling against a newer version of libgit2.
-In order to compile LibGit2Sharp.Core gccxml is needed. gccxml is a tool
-that generates xml output from cpp code. This output is used in order
-to autogenerate all the native dll import bindings, since the API
-of libgit2 is constantly changing, the assumption was made that this
-would be the most effective way to stay up to date with the API. The
-project LibGit2.Core.Generator will search for GIT_EXTERN exposed
-functions and then use the generated xml to utilize the metadata.
-The newest version of gccxml is needed, since earlier versions
-don't have an important buildin type.
-In order to generate the xml output, just type the following command
-in the resources folder (Makefile is needed):
- make patch
- make
-make patch will patch the current source, in order to make it easier to
-parse GIT_EXTERN exposed functions.
-Now LibGit2.Core.Generator has to be build and ran once. It will generate
-NativeMethods.cs for LibGit2.Core. You can do it via the command line:
- LibGit2.Core.Generator.exe ../Git2/NativeMethods
-Or just use "Run this item" from your IDE.
-Coding Guidelines
-We are using the default Microsoft/MSDN guidlines for coding.
-Please don't forget that our tab consists of 4 spaces and every
-text file should have a new line at the ending.
-The later rule makes it easier for patch tools used by vanilla
-git to retrieve patch hunks.
-* [nulltoken](
-* [Andrius Bentkus](mailto:
-Use the issue tracker on on
-Furthermore, you can reach Andrius Bentkus directly via email or IRC,
-mostly nick named txdv or bentkus on every major irc network.
-MIT License. Read LICENSE file.
+## License
+The MIT license (Refer to the [LICENSE]( file)

0 comments on commit f8bc191

Please sign in to comment.