Subject: Re: GSoC git-add--interactive improvements

From: Corey F <[email-masked]>
Date: Wed, 04 Apr 2012 22:46:01 -0700

On 04/04/2012 01:26 AM, Christian Couder wrote:
> Hi,
>
> On Wed, Apr 4, 2012 at 6:07 AM, Corey F<[email-masked]>  wrote:
>> Last year's SoC ideas page included rewriting some commands in C, including
>> this one. I'm at least as comfortable with C as with Perl, but I'm guessing
>> that incorporating a rewrite into the project would be an ambitious and/or
>> dangerous idea.
> It depends how you plan to do it. In builtin/apply.c and perhaps
> elsewhere there is already some C code that is duplicated in
> git-add--interactive.perl.
> Maybe you can first make add--interactive use the C code by creating a
> helper command and then move more and more stuff from add--interactive
> to the helper command.
> Hopefully in the end the code in the helper could be used to add an
> interactive mode to git apply.

Okay, that sounds like an interesting way to approach it. The helper 
command would then constitute a slightly more generic patch-chooser 
interface, and most of the suggested architectural changes would be 
broadly applicable.

Then again, perhaps it would be better to instead, as a sub-project, 
make git-add--interactive.perl work for apply in addition to 
add,commit,stash,reset. That would let me still primarily focus on 
restructuring the Perl code.

I think the first few suggested design improvements, in particular, will 
be valuable changes. (I often find myself wanting even more granular 
control over what exact characters get staged; that may be another 
improvement I'll aim for.)

I'll think about these some more and hope to put together a GSoC 
application. Thanks for your insights.

Corey