Wrap_libgit2
is an Eiffel binding of libgit2 C library
using WrapC tool.
libgit2
is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API,
allowing you to write native speed custom Git applications in any language which supports C bindings.
- WrapC tool.
- libgit2 v1.0.0.
The binding is work in progress. Tested on Linux and Windows 64 bits.
Guide to linking libgit2 on various platforms
On Linux to install version 1.0.0 you will need to do the following.
$ mkdir build
$ cd build
$ cmake ..
$ sudo cmake --build . --target install
Rebuild the ldconfig cache using
sudo ldconfig
Optionally you can use vckpg, a C++ Library Manager for Windows, Linux, and MacOS.
./vcpkg install libgit2:x64-linux
Using vcpkg (https://github.com/microsoft/vcpkg) tool, you can install libgit2 library
vcpkg install libgit2:x64-windows
Then copy the git2.lib
to %LIBRARY_PATH%wrap_library/library/C/lib
Be sure to have the git2.dll
on the PATH.
- Git Init
shows how to initialize a new repo
- Git Status
shows how to use the status APIs
- Git Add
shows how to modify the index
- Git Checkout
shows how to perform checkouts
. - Git Describe
shows how to describe commits
. - Git ls-files
shows how to view all files currently in the index.
- Git push
shows how to git push <remote> <branch>
- Git ls_remote
shows how to list remote references.
- Git clone
shows how to list perform clones.
Before to use the examples you will need to compile the C glue code, go to
library/generated_wrapper/c/src
and run
finish_freezing --library
It will copy the C lib eif_libgit2.a
to $ECF_CONFIG_PATH/C/spec/$(ISE_PLATFORM)/lib/
or eif_libgit2.lib
to $ECF_CONFIG_PATH/C/spec/$ISE_C_COMPILER/$ISE_PLATFORM/lib