:) It wasnât a complete implementation but entirely written in Pharo, yes. The reason I decided to go for bindings is that Git is quite big. There are many things to implement and thereâs a lot of mystery when it comes to implementation details. Using bindings reduces the cost of maintenance a lot, since the burden of updating and fixing stuff is no longer on me. Additionally, performance was never really good with my solution, partly due to the VM of course (FFI wasnât really an option for me back then, so all the calculations were done in the image). And finally, Git has a rather unconventional way of handling memory: allocate until it breaks. Since weâre quite constrained memory wise in Pharo, I would run into out of memory situations pretty quickly. Handing the memory management off to the library makes things a lot easier. BTW, I based my project on the work of Tony Garnock-Jones (from NZ) who started work on a Git implementation for Squeak (but then gave up the project). Cheers, Max
On 24 Feb 2016, at 12:30, Ben Coman <btc@openinworld.com> wrote:
Max,
The other say I was contemplating having a git implementation written entirely in Pharo, and today I bumped into something from your history (~2011?) [1] indicating this might have been attempted. I'm curious why this was abandoned in favour of libgit bindings.
[1] http://scg.unibe.ch/wiki/students/maxleske
cheers -ben