GSoC report: Trees, References, Remotes

Saurabh Kumar saurabhgeek92 at gmail.com
Thu Sep 12 21:12:25 UTC 2013


This was a fairly productive week, with many new features.

Trees[1][2]: You can now work with trees and its entries. Git is
basically a content-addressable filesystem, where all content is
stored in trees and blobs. Each tree contains tree-entries, which are
pointers to blobs or subtrees. You can now lookup a tree with a SHA1
hash, get all its entries by name or index and get the corresponding
objects for further manipulation.

References[3]: You should now be able to resolve references to get the
corresponding object in case of direct references or the refname in
case of symbolic references.

Remotes[4] and tags[5]: You are now able to create remotes and get or
set all its properties. Network operations not yet supported. You are
also able to create and delete lightweight tags.

You can also clone repositories now, not just work with local
repositories. Clone options are not yet supported.

Thanks to Duke Leto for helping me out with one of the issues I
mentioned last week, regarding conversion from C strings to Parrot
strings.

[1]: https://github.com/letolabs/parrot-libgit2/blob/master/src/Git2/Tree.winxed
[2]: https://github.com/letolabs/parrot-libgit2/blob/master/src/Git2/TreeIndex.winxed
[3]: https://github.com/letolabs/parrot-libgit2/blob/master/src/Git2/Reference.winxed
[4]: https://github.com/letolabs/parrot-libgit2/blob/master/src/Git2/Remote.winxed
[5]: https://github.com/letolabs/parrot-libgit2/blob/master/src/Git2/Tag.winxed


More information about the parrot-dev mailing list