# [GSoC] libgit2 before the first evaluation

3 messages from 2010-07-10 to 2010-08-10. Participants: Vicent Marti, Thomas Koch, Sverre Rabbelier.
Thread: https://gitlist.dev/t/24358

## Vicent Marti, 2010-07-10 17:31

Subject: [GSoC] libgit2 before the first evaluation
Message-ID: <AANLkTil46G2eI2cmXL5mHWrxFbCuavrFlcScT-7nwdoh@mail.gmail.com>
URL: https://gitlist.dev/e/AANLkTil46G2eI2cmXL5mHWrxFbCuavrFlcScT-7nwdoh%40mail.gmail.com

```
Hello everybody,

the first coding period of this year's Summer of Code is almost over,
and the libgit2 project is looking good. Here's a short status update:

All the functionality for revision walking is in place in the main
development branch [1]; together with it there's a set of extra
functionality: a work in progress interface to load tree objects in
memory, and a finished interface to load commits in memory and extract
detailed information from them. All this code has been reviewed for
style and fixed accordingly (thanks Ramsay), and is in the process of
being reviewed for design. The libgit2 core developers have been very
busy lately, so any input on this matter is very much welcome.

Furthermore, while waiting for code reviews I've created a new
development branch [2] and began working on the features required for
the second period of the Summer of Code. So far, there's support for
loading and parsing index files from disk; there is also a WIP
implementation of git-like atomic file locking [3] which will be
required for writing the index files back to disk.

I've been having some issues with file locking, however, since the
reference git.git implementation differs quite a bit from the one on
JGit: it seems like JGit applies an additional filesystem-level lock
(i.e. POSIX flock()) to the temporary ".lock" file, something which is
complicated to do in a cross-platform manner in C. There's also
differences between implementations which I'm trying to work out (not
easy since I'm no Java expert): for instance, it seems like the JGit
implementation doesn't update its internal state to signal that the
file is unlocked after a commit (LockFile.java:393). Are there any
JGit developers who can throw some insight into this?


Either way, once the atomic file locking issues have been solved, I'll
get started on the remaining functionality for working with index
files (modifying & writing back to disk) . After that, the last goal
for the Summer is the API for reference manipulation which hasn't been
designed yet. I'll keep you all updated.

Thanks for your time,
Vicent Martí
http://www.bellverde.org

[1]: http://github.com/tanoku/libgit2-gsoc2010/commits/gsoc
[2]: http://github.com/tanoku/libgit2-gsoc2010/commits/gsoc-index
[3]: http://github.com/tanoku/libgit2-gsoc2010/commit/8b92be06f64c04c2b2d874cf00769a7deb9a2835

```

## Thomas Koch, 2010-08-10 08:29

Subject: Re: [GSoC] libgit2 before the first evaluation
Message-ID: <201008101029.09718.thomas@koch.ro>
URL: https://gitlist.dev/e/201008101029.09718.thomas%40koch.ro
In-Reply-To: <AANLkTil46G2eI2cmXL5mHWrxFbCuavrFlcScT-7nwdoh@mail.gmail.com>

```
Hi Vicent,

it has been one month since your last mail to the git mailing list. Are you 
well? I'm just a fellow GIT user and would love to get my hands on libgit.

Thomas Koch, http://www.koch.ro

```

## Sverre Rabbelier, 2010-08-10 22:58

Subject: Re: [GSoC] libgit2 before the first evaluation
Message-ID: <AANLkTi=qKGi3w2depLO7FDfCN3fBem6_xKZ70pD_af53@mail.gmail.com>
URL: https://gitlist.dev/e/AANLkTi%3DqKGi3w2depLO7FDfCN3fBem6_xKZ70pD_af53%40mail.gmail.com
In-Reply-To: <201008101029.09718.thomas@koch.ro>

```
Heya,

On Tue, Aug 10, 2010 at 03:29, Thomas Koch <thomas@koch.ro> wrote:
> it has been one month since your last mail to the git mailing list.

On that note, wasn't it a _key goal_ of the libgit project to get it
integrated with git.git to prevent it from rotting? Why haven't I seen
_any_ emails about that yet? On that note, why has this been developed
almost entirely in the dark? Where were the weekly status updates? I'm
sure code is being produced, but a big part of GSoC is being part of
the community, and I've seen almost zero involvement.

-- 
Cheers,

Sverre Rabbelier

```
