On Fri, 2 Sep 2016, Jeff King wrote:
> The good news (or maybe the bad) is that "add -p" is implemented
> entirely in Perl. :)
Yeah, you would definitely not call this "good news" if you were in my
There is no question that it has grown way too unwieldy and that we (once
again, as with so many other scripts) missed the boat to convert it to C.
Scripting is nice for prototyping. But it comes at a high
portability/performance cost if taken too far. And we took it way too far.
Just look at all of those 1667 lines of git-add--interactive and weep. So
many things reimplemented in Perl instead of reusing functions in
libgit.a (or introducing them, making them usable from other parts of
Git). Wasted time is what I see there.
The worst part is that it completely violates our original "Unix
philosophy" of implementing the business logic in C and combinig it using
And of course now the script is *so large* that nobody wants to undertake
the task of porting it to C.