From: Corey F Date: Thu, 05 Apr 2012 05:46:01 GMT Subject: Re: GSoC git-add--interactive improvements Message-ID: <4F7D3199.5040401@gmail.com> In-Reply-To: On 04/04/2012 01:26 AM, Christian Couder wrote: > Hi, > > On Wed, Apr 4, 2012 at 6:07 AM, Corey F 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