{"thread":{"id":"30143","subject":"GSoC git-add--interactive improvements","startedAt":"2012-04-04T04:07:26Z","lastAt":"2012-04-05T05:46:01Z","messageCount":3,"participants":["Corey F","Christian Couder"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"188466","messageId":"4F7BC8FE.4060808@gmail.com","threadId":"30143","inReplyTo":null,"subject":"GSoC git-add--interactive improvements","fromName":"Corey F","fromEmail":"coyotebush22@gmail.com","sentAt":"2012-04-04T04:07:26Z","receivedAt":"2012-04-04T04:07:26Z","isPatch":false,"sender":{"key":"coyotebush22@gmail.com","avatar":null},"body":"Hi all,\n\nI'd be interested in making improvements to the git add -p (etc.) \ninterface as a Google Summer of Code project, as suggested on the ideas \npage [1].\n\nThe page lists some interesting ideas for both larger architectural \nchanges and smaller interface improvements, though I agree that getting \nlots of community input during the project will be important. So at this \npoint I'm wondering how much I should plan out in my proposal -- maybe \npin down a few important features and a process for getting more input?\n\nLast year's SoC ideas page included rewriting some commands in C, \nincluding this one. I'm at least as comfortable with C as with Perl, but \nI'm guessing that incorporating a rewrite into the project would be an \nambitious and/or dangerous idea.\n\nAny thoughts on how best to approach this project idea are welcome.\n\nAlternately, the \"ultimate content tracking\" tool to find similar \nsections that might have been the basis for newly added lines sounds \nintriguing, and I will refresh myself on the previous list discussion \nregarding that idea.\n\nThanks,\nCorey\n\n1: https://github.com/peff/git/wiki/SoC-2012-Ideas\n"},{"id":"188476","messageId":"CAP8UFD0V17Gag3esFd=ZDocZZoiN_4a1bjQ8rFwbBZoJEiasBA@mail.gmail.com","threadId":"30143","inReplyTo":"4F7BC8FE.4060808@gmail.com","subject":"Re: GSoC git-add--interactive improvements","fromName":"Christian Couder","fromEmail":"christian.couder@gmail.com","sentAt":"2012-04-04T08:26:52Z","receivedAt":"2012-04-04T08:26:52Z","isPatch":false,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"Hi,\n\nOn Wed, Apr 4, 2012 at 6:07 AM, Corey F <coyotebush22@gmail.com> wrote:\n> Hi all,\n>\n> I'd be interested in making improvements to the git add -p (etc.) interface\n> as a Google Summer of Code project, as suggested on the ideas page [1].\n>\n> The page lists some interesting ideas for both larger architectural changes\n> and smaller interface improvements, though I agree that getting lots of\n> community input during the project will be important. So at this point I'm\n> wondering how much I should plan out in my proposal -- maybe pin down a few\n> important features and a process for getting more input?\n>\n> Last year's SoC ideas page included rewriting some commands in C, including\n> this one. I'm at least as comfortable with C as with Perl, but I'm guessing\n> that incorporating a rewrite into the project would be an ambitious and/or\n> dangerous idea.\n\nIt depends how you plan to do it. In builtin/apply.c and perhaps\nelsewhere there is already some C code that is duplicated in\ngit-add--interactive.perl.\nMaybe you can first make add--interactive use the C code by creating a\nhelper command and then move more and more stuff from add--interactive\nto the helper command.\nHopefully in the end the code in the helper could be used to add an\ninteractive mode to git apply.\n\nThanks,\nChristian.\n\nPS: Sorry I replied to you only first.\n"},{"id":"188548","messageId":"4F7D3199.5040401@gmail.com","threadId":"30143","inReplyTo":"CAP8UFD0V17Gag3esFd=ZDocZZoiN_4a1bjQ8rFwbBZoJEiasBA@mail.gmail.com","subject":"Re: GSoC git-add--interactive improvements","fromName":"Corey F","fromEmail":"coyotebush22@gmail.com","sentAt":"2012-04-05T05:46:01Z","receivedAt":"2012-04-05T05:46:01Z","isPatch":false,"sender":{"key":"coyotebush22@gmail.com","avatar":null},"body":"On 04/04/2012 01:26 AM, Christian Couder wrote:\n> Hi,\n>\n> On Wed, Apr 4, 2012 at 6:07 AM, Corey F<coyotebush22@gmail.com>  wrote:\n>> Last year's SoC ideas page included rewriting some commands in C, including\n>> this one. I'm at least as comfortable with C as with Perl, but I'm guessing\n>> that incorporating a rewrite into the project would be an ambitious and/or\n>> dangerous idea.\n> It depends how you plan to do it. In builtin/apply.c and perhaps\n> elsewhere there is already some C code that is duplicated in\n> git-add--interactive.perl.\n> Maybe you can first make add--interactive use the C code by creating a\n> helper command and then move more and more stuff from add--interactive\n> to the helper command.\n> Hopefully in the end the code in the helper could be used to add an\n> interactive mode to git apply.\n\nOkay, that sounds like an interesting way to approach it. The helper \ncommand would then constitute a slightly more generic patch-chooser \ninterface, and most of the suggested architectural changes would be \nbroadly applicable.\n\nThen again, perhaps it would be better to instead, as a sub-project, \nmake git-add--interactive.perl work for apply in addition to \nadd,commit,stash,reset. That would let me still primarily focus on \nrestructuring the Perl code.\n\nI think the first few suggested design improvements, in particular, will \nbe valuable changes. (I often find myself wanting even more granular \ncontrol over what exact characters get staged; that may be another \nimprovement I'll aim for.)\n\nI'll think about these some more and hope to put together a GSoC \napplication. Thanks for your insights.\n\nCorey\n"}]}