> On 04.12.2014, at 09:07, Thierry Goubier <[email protected]> wrote:
> 
> 
> 
> 2014-12-04 8:27 GMT+01:00 Max Leske <[email protected] 
> <mailto:[email protected]>>:
> 
>> On 04.12.2014, at 07:24, Thierry Goubier <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> Le 03/12/2014 14:02, Ben Coman a écrit :
>>> Eliot Miranda wrote:
>>>> 
>>>> [and apologies for being deliberately incendiary but I *hate* the
>>>> movement away from tools in Squeak/Pharo.  It is a movement towards
>>>> stasis and death, and personally I'm enjoying life too much].
>>> 
>>> So what we need is a native Smalltalk git ;)
>> 
>> We need a better-than-git Smalltalk thing :)
>> 
>>> Yes I know... more work with limited resources, but native git its being
>>> done in other places...   (not sure how successfully)
>> 
>> I can give you a head start. There is some Smalltalk code to reuse; it's 
>> called FileSystem-Git, or FS-Git.
>> 
>> https://github.com/dalehenrich/FSGit <https://github.com/dalehenrich/FSGit>
>> 
>> https://github.com/theseion/fs-git <https://github.com/theseion/fs-git>
>> 
>> http://smalltalkhub.com/#!/~FileSystemGitDev/FileSystem-Git 
>> <http://smalltalkhub.com/#!/~FileSystemGitDev/FileSystem-Git>
>> http://smalltalkhub.com/#!/~FileSystemGitDev/Git-FileSystem 
>> <http://smalltalkhub.com/#!/~FileSystemGitDev/Git-FileSystem>
>> 
>> They do lack a bit of activity.
> 
> That’s because they should be superseded by the libgit2 bindings.
> 
> If I'm not mistaken, they originally were what Ben suggested: a complete git 
> reimplementation in Smalltalk via a FileSystem abstraction layer.

The idea is great and works quite well. There are two problems however and they 
are the reasons I chose to go with bindings:
- such an implementation is very hard to maintain and the chance of introducing 
bugs is just off the charts
- performance and memory allocation need a lot of working around (and praying)

> The Pharo "whole" export to github would be based on that work, along with 
> that 'almost like FileTree, but not the same' file format.

Not quite. The export simply produces (FileTree) artifacts and writes them to 
disk. There is no hard dependency to FileSystem-Git (although that might have 
been the plan at some point).

> 
> But correct me if I got that wrong.
> 
> 
> This is the right repo: 
> http://smalltalkhub.com/#!/~FileSystemGitDev/FileSystem-Git 
> <http://smalltalkhub.com/#!/~FileSystemGitDev/FileSystem-Git> (the github 
> version is outdated).
> 
> Thanks for the reminder (and the hard work you're putting into the libgit2 
> bindings),

Thank you for your patience :)

> 
> Thierry
>  
> 
>> 
>> Thierry
>> 
>>> 
>>> Javascript
>>> https://github.com/creationix/js-git <https://github.com/creationix/js-git>
>>> 
>>> Java
>>> http://eclipse.org/jgit/ <http://eclipse.org/jgit/>
>>> 
>>> Haskall
>>> http://stefan.saasen.me/articles/git-clone-in-haskell-from-the-bottom-up/ 
>>> <http://stefan.saasen.me/articles/git-clone-in-haskell-from-the-bottom-up/>
>>> https://github.com/vincenthz/hit <https://github.com/vincenthz/hit>
>>> 
>>> Python
>>> https://www.samba.org/~jelmer/dulwich/ 
>>> <https://www.samba.org/~jelmer/dulwich/>
>>> 
>>> Perl
>>> https://metacpan.org/pod/Git::PurePerl 
>>> <https://metacpan.org/pod/Git::PurePerl>

Reply via email to