[Sugar-devel] Git Backend Architecture | GSoC'15

Sebastian Silva sebastian at fuentelibre.org
Fri Mar 20 09:55:09 EDT 2015


About this Git as Journal backend project...
I have come to the conclusion that it's a terrible idea.

Don't get me wrong, I'm the first to recognize git's contribution for
the world.
In fact I even have a small git front project

However, as a general datastore, git is terribly innefficient especially
when dealing with larger or binary files. You can read a detailed
account of it's problems in the following article I found really

Unorthodocs: Abandon your DVCS and Return to Sanity

It we do insist in adding some sort of version control, then I suggest
we look into VCS extensions for large files, and some way that will
allow the user to actually erase a file.

In the Git world, git-annex does this but it's in my humble opinion
A better option for this would be Mercurial's Largefiles extension.
Mercurial also has native compatibility with Git, so I tend to think it
could be the best of both world.

The tricky part here of course is the UI so I would love to see some
mockups of what it's expected to look like.

El 20/03/15 a las 07:54, Gonzalo Odiard escibió:
> You can find useful a experiment done by Martin Abente a time
> ago "FakeCloud: a silly and quick attempt to define a generic
> structure for web-service-basedJournal storage"
> sugar branch: https://github.com/tchx84/sugar/tree/fakecloud
> sugar-fakecloud extension: https://github.com/tchx84/sugar-fakecloud
> He can provide more information. (cced)
> On Thu, Mar 19, 2015 at 4:33 PM, Shaifali Agrawal
> <agrawalshaifali09 at gmail.com <mailto:agrawalshaifali09 at gmail.com>> wrote:
>     On Thu, Mar 19, 2015 at 6:29 PM, Shaifali Agrawal
>     <agrawalshaifali09 at gmail.com <mailto:agrawalshaifali09 at gmail.com>>
>     wrote:
>         For the first part I did sturdy research, I have wrote create,
>         read, update, delete functions in shell script to work as git
>         based backend. But for the project I will need to code same in
>         Python and Javascript, that can be achieved via libraries like
>         libgit2 js-git. Under the hod git is a key-value store and for
>         generating key(sha or hash-objects) it generates a checksum of
>         the content of file plus a header. So this can be achieved in
>         Python and Javascript.
>     Links to above mentioned libraries : libgit2
>     <https://libgit2.github.com/>, js-git
>     <https://github.com/creationix/js-git>
>     _______________________________________________
>     Sugar-devel mailing list
>     Sugar-devel at lists.sugarlabs.org
>     <mailto:Sugar-devel at lists.sugarlabs.org>
>     http://lists.sugarlabs.org/listinfo/sugar-devel
> -- 
> Gonzalo Odiard
> SugarLabs - Software for children learning 
> _______________________________________________
> Sugar-devel mailing list
> Sugar-devel at lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/sugar-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20150320/a778e1ab/attachment.html>

More information about the Sugar-devel mailing list