May 26, 2008

A&O 2008-05-26: GitSharp low level API

Achievements
~~~~~~~~~~~

* Setup our development infrastructure:
* http://github.com/igorgue/git-sharp
* http://devel.unionccs.net/projects/show/git-sharp

* Define our approach with mentor and fellow student(Hector, the guy that will be doing the high level API)

* Study some the git implementation(work in progress):
* CGit (commonly known as plain git)
* jGit (implementation created by a CGit developer)
* ruby-git ruby implementation
* git-ruby another ruby implementation

* Initial work on Git core, some classes infrastructure defined, also Hashing is done with the help of Hector, check github repo(git clone git://github.com/igorgue/git-sharp.git).

* Core diagram: http://devel.unionccs.net/projects/git-sharp/documents missing Index API

* Some work done on the API Design: http://devel.unionccs.net/wiki/git-sharp

Objectives
~~~~~~~~

* Finish design... we just have to do this to continue

* Somethings have to be figured out first:
* Create a base for Hector work(so he can develop the high level part)
* How does Index works and how are we going to implement it(its different on every implementation)

* Continue working on "Core" which is Object, Tree, Commit, Blob and Tag

* Start work in Index

Bonus
~~~~~

* I have been getting dirty with 'unsafe' code, anyway we are not going to use any unsafe code if its not needed(and it should not be needed)

* Learned how to correctly use Mono's encryption API to allow me to create the SHA1

Love
~~~~

* massi: Even though we have talked just a little, he gave us very nice tips :)

* spouliot: He told us to use SHA1.Create() instead of SHA1Managed or SHA1CryptoServiceProvider

* alan(monotorrent guy): This guy did some cool stuff in Mono's SHA1 :) thanks

Notes
~~~~~

* Everybody twitts these days... even Git#: http://twitter.com/gitsharp like I twitt before he is a lonely guy... so he will not follow anybody :) or even reply to anybody

1 comments:

henon said...

hi,
if you are still interested in git for c# then please check out
Git#. We are quite far by now (about 30% of jgit ported).

cheers,
-- Henon

disclaimer



Things written in this blog are my personal thoughts or points of view, and do not represent at all the position of my employer.

Code in the website is licensed under The MIT License

Content of this blog is:
Creative Commons License
Licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.