diff --git a/index.html b/index.html index e3e668b..6a8ba59 100644 --- a/index.html +++ b/index.html @@ -1,174 +1,171 @@ - + - - libgit2: a linkable library for Git - - - - -
-
- -
- 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 with bindings. -
-

I am interested in

- - -

Why We Need It

-
-
-
-

In the current Git project, though a libgit.a file is produced it is - not re-entrant (it will call die() on basically any error) - and it has no stable or well-designed public API. As there is no good - way to link to this effectively, a new library was needed that fulfilled - these requirements. Thus libgit2.

- -

Though it would be nice to use the same library that Git itself uses, - Git actually has a pretty simple storage format and just having native - access to that is pretty useful. Eventually we would like to have most - of the functionality of the core Git tools or even get the library - integrated into Git itself, but in the meantime having a cleanly designed - and maintained linkable Git library with a public API will likely be helpful - to lots of people.

-
-
-
- -

What It Can Do

-
-
-
- libgit2 is already very usable. -
    -
  • raw <-> hex SHA conversions
  • -
  • raw object reading (loose and packed)
  • -
  • raw object writing (loose)
  • -
  • revlist walker
  • -
  • commit, tag and tree object parsing and write-back
  • -
  • tree traversal
  • -
  • basic index file (staging area) operations
  • -
- - - -
-
-
- -

How To Install It

-
-
-
- Currently it has to be compiled by hand, but it shouldn't be too difficult. -
- -
$ git clone git://github.com/libgit2/libgit2.git
-$ cd libgit2
-$ make
-$ make install
- -
-
- Once that is done, you should be able to link the library to your program - with a normal -lgit2. -
- - -
-
- -

Language Bindings

-
- -
-
- There are already a number of language bindings in the works, so you can - use Git at native speed from your favorite programming language. -
-
- -
-
-

Rugged (Ruby bindings)

-

- Rugged (previously known as Ribbit) is the reference bindings for libgit2, used to make sure the - source C API is sane and functional. They are always in sync with the libgit2 master branch. -

- Get Rugged -
-
- -
-
-

pygit2 (Python bindings)

-

pygit2 are the Python 2.6+ bindings for libgit2 mantained by David Borowitz. - They should be (mostly) up to date with the library changes.

-
- Get pygit2 -
- -
-
-

Objective-C

-

Coming Soon...

-
-
- -
-
-

Geef (Erlang bindings)

-

- Geef is an example of an Erlang NIF binding to libgit2. A bit out of - date, but can be made to mostly work. -

- Get Geef -
-
- -
- -
-
-
-

Thanks to the Bundler team for letting me steal all their website codez.

-
- - Fork me on GitHub - - + + libgit2: a linkable library for Git + + + + + + +
+ +
+ 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. +
+ + + +

Getting started

+
+
+

In the current Git project, though a libgit.a file is produced it is + not re-entrant (it will call die() on basically any error) + and it has no stable or well-designed public API. As there is no good + way to link to this effectively, a new library was needed that fulfilled + these requirements. Thus libgit2.

+ +

libgit2 is...

+
    +
  • faster than any other Git library
  • +
  • written in standards compilant C99
  • +
  • completely multi-platform: Windows, Linux, Mac OS X, xBSD
  • +
  • compiled natively under all platforms (yes, even MSVC on Windows)
  • +
  • re-entrant, with sane error handling
  • +
  • designed with a solid and consistent API
  • +
  • available as bindings for all major scripting languages
  • +
  • compiled with minimal external dependencies (currently only zlib)
  • +
  • licensed under the GPLv2 with a linking exception, so you can use it everywhere
  • +
+
+ +
+

libgit2 is still in early development, and although it's already quite feature complete, there are no official binary releases available yet. Interested early adopters must compile the library by hand -- which is easy enough to do.

+ Get the code at GitHub +
+ +
+ + + +

What it can do

+
+
+ libgit2 is already very usable: +
    +
  • SHA conversions and formatting
  • +
  • object reading (loose and packed)
  • +
  • object writing (loose)
  • +
  • revision walking
  • +
  • commit, tag, tree and blob parsing and write-back
  • +
  • tree traversal
  • +
  • index file (staging area) manipulation
  • +
  • ...and much more
  • +
+
+
+ + + +

Building the library

+
+
+ libgit2 uses waf as its buildsystem, + and hence requires Python 2.4 or better to + configure the build. The library can be built under the following platforms: + Linux, Mac OS X, xBSD, Windows (MSVC) and Windows (MinGW). +
+ +
+
Start by configuring the build system by running:
+
$ ./waf configure
+
Then build the library, either in its shared or static form
+
$ ./waf build-static
+$ ./waf build-shared
+
You can then test the library with:
+
$ ./waf test
+
And finally you can install it with (you may need to sudo):
+
$ ./waf install
+
+ Once that is done, you should be able to link the library to your program + with a normal -lgit2.
+
+ +
+ Detailed build instructions for different platforms can be found in libgit2's + readme file. +
+
+ + + +

Language bindings

+
+
+ There are already a number of language bindings in the works, so you can + use Git at native speed from your favorite programming language. +
+
+ +
+
+

Rugged (Ruby bindings)

+

+ Rugged (previously known as Ribbit) is the reference bindings for libgit2, used to make sure the + source C API is sane and functional. They are always in sync with the libgit2 master branch. +

+ Get Rugged +
+
+ +
+
+

pygit2 (Python bindings)

+

pygit2 are the Python 2.6+ bindings for libgit2 mantained by David Borowitz. + They should be (mostly) up to date with the library changes.

+
+ Get pygit2 +
+ +
+
+

Objective-C

+

Coming Soon...

+
+
+ +
+
+

Geef (Erlang bindings)

+

+ Geef is an example of an Erlang NIF binding to libgit2. A bit out of + date, but can be made to mostly work. +

+ Get Geef +
+
+
+ + +
+ +
+

Thanks to the folks at Bundler for letting us steal their awesome CSS

+
+ + Fork me on GitHub + + diff --git a/stylesheets/application.css b/stylesheets/application.css index e2a9c5a..1a78a86 100644 --- a/stylesheets/application.css +++ b/stylesheets/application.css @@ -13,6 +13,16 @@ line-height: 125%; } +a { + color: #4e9326; + text-decoration: none; + font-weight: bold; +} + +a:hover { + color: #6ecf36; +} + /* line 39 */ html { width: 100%; @@ -202,6 +212,7 @@ ul.bullet a:last-child { margin-right: 0; } + /* line 141 */ .bullet { width: 100%; @@ -224,9 +235,11 @@ ul.bullet a:last-child { color: #003333; line-height: 24px; margin-bottom: 8px; + margin-top: 8px; } /* line 154 */ -.bullet a { +.button { + font-weight: normal; padding-top: 8px; padding-bottom: 5px; text-decoration: none; @@ -244,8 +257,10 @@ ul.bullet a:last-child { -khtml-border-radius: 5px; border-radius: 5px; } + /* line 166 */ -.bullet a:hover { +.button:hover { + color: white; background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(0%, #4e9326), color-stop(100%, #35641a)); background-image: -moz-linear-gradient(top, #4e9326 0%, #35641a 100%); }