diff options
author | Tim Clem <timothy.clem@gmail.com> | 2011-03-30 20:15:59 +0400 |
---|---|---|
committer | Tim Clem <timothy.clem@gmail.com> | 2011-03-30 20:16:08 +0400 |
commit | 0bee0993b607b4fb09b148e7a74ef452e72a7600 (patch) | |
tree | f5eb96c0f4647c9bf4bb3f6e190010cf8bb63928 /README.md | |
parent | 55863d68d5da224934508a89aca1205c9f49e17f (diff) |
Squash up commits on devel branch
This is being done to clean up commit history on master.
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 00000000..cf2d0db5 --- /dev/null +++ b/README.md @@ -0,0 +1,90 @@ +libgit2sharp +============ + +Description +=========== + +libgit2sharp provides .NET bindings for libgit2. +[libgit2](http://libgit2.github.com/) itself is a new library +implementing the git data storage model in C. + +Goal +==== +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 +usage. + +.NET Runtime +============ + +A .NET 3.5 compatible runtime is required. + +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. + +Compilation +=========== + +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. + +Authors +======= + +* [nulltoken](https://github.com/nulltoken) +* [Andrius Bentkus](mailto: andrius.bentkus@gmail.com) + +Contacts +======== + +Use the issue tracker on on www.github.com/libgit2/libgit2sharp. +Furthermore, you can reach Andrius Bentkus directly via email or IRC, +mostly nick named txdv or bentkus on every major irc network. + +License +======= +MIT License. Read LICENSE file. + |