Subject: Re: [RFC/GSoC] Introduction

From: Sidhant Sharma <[email-masked]>
Date: Sun, 20 Mar 2016 21:52:06 +0530

On Sunday 20 March 2016 09:38 PM, Lars Schneider wrote:
> On 20 Mar 2016, at 16:51, Sidhant Sharma <[email-masked]> wrote:
>
>> On Sunday 20 March 2016 09:09 PM, Lars Schneider wrote:
>>> Hi Sidhant,
>>>
>>> that sounds about right to me. In what language do you plan to implement the 
>>> wrapper?
>> I'm comfortable in programming with C, so I think I can use that. Otherwise,
>> I'm also comfortable with python and familiar with bash, if they are required.
>> Would C be the right choice though?
>> Also, I've made a draft proposal for the project and uploaded to the GSoC
>> application site. Should I send it to the list as well for RFC?
> Although I like Python a lot, I don't think it would be a good choice. AFAIK Git
> core does not depend on Python and therefore you can't really expect a Python
> interpreter in every Git environment (e.g. it is not part of Git for Windows).
>
> The wrapper could certainly be implemented in C, although I don't know if this 
> would make things harder then they need to be. My initial thought was to use a
> scripting language that is known to be shipped with Git (Bash or Perl). I
> think Perl might even have an advantage as it offers very good regex/string
> processing functions (disclaimer: I am no Perl expert at all...).
Okay, I'll get started with Perl right away, shouldn't take long.
> Please post your draft proposal as plain text RFC to the list.
>
> Thanks,
> Lars
>
>
>> Thanks,
>> Sidhant Sharma
>>> Best,
>>> Lars
>>>
>>> On 17 Mar 2016, at 15:52, Sidhant Sharma <[email-masked]> wrote:
>>>
>>>> Hi,
>>>>
>>>> So to sum up, the list of tasks for the project would be:
>>>> 1. A wrapper is to be implemented around (called 'ggit') that will scan the
>>>> arguments for potentially destructive commands. When none are found, all the
>>>> arguments will simply be passed through to git.
>>>> 2. If such a command is found, 'ggit' will:
>>>>   a. Show what the command is actually going to do.
>>>>   b. Ask the user if they are sure they want to execute it.
>>>> Eg. "You are about to do X which  will permanently destroy Y. Do you want to
>>>> continue?"
>>>> 3. For all commands that are entered, 'ggit' will also show a brief summary of
>>>> the command what it will do when executed, explaining it's intended usage.
>>>>
>>>> Is the list correct, or did I miss something?
>>>>
>>>>
>>>> Thanks and regards,
>>>> Sidhant Sharma