# [GSoC] Scripts to be conversted into builtins

4 messages from 2018-03-17 to 2018-03-19. Participants: Yash Yadav, Ævar Arnfjörð Bjarmason, Christian Couder, Johannes Schindelin.
Thread: https://gitlist.dev/t/48068

## Yash Yadav, 2018-03-17 12:44

Subject: [GSoC] Scripts to be conversted into builtins
Message-ID: <67e865ac-3303-eda6-e14b-f56607d64908@gmail.com>
URL: https://gitlist.dev/e/67e865ac-3303-eda6-e14b-f56607d64908%40gmail.com

```
Hello,

I am a student going through the GSoC process.

In the project ideas listed there is one idea talking of conversion of 
scripts to builtins. This interests me but no pointer forward is given 
and I'd like to dive more into that idea and go through the script(s).

So, where should I look further from here?


Thanks,

Yash Yadav


```

## Ævar Arnfjörð Bjarmason, 2018-03-17 18:26

Subject: Re: [GSoC] Scripts to be conversted into builtins
Message-ID: <87r2oid0df.fsf@evledraar.gmail.com>
URL: https://gitlist.dev/e/87r2oid0df.fsf%40evledraar.gmail.com
In-Reply-To: <67e865ac-3303-eda6-e14b-f56607d64908@gmail.com>

```

On Sat, Mar 17 2018, Yash Yadav jotted:

> Hello,
>
> I am a student going through the GSoC process.
>
> In the project ideas listed there is one idea talking of conversion of
> scripts to builtins. This interests me but no pointer forward is given
> and I'd like to dive more into that idea and go through the script(s).
>
> So, where should I look further from here?

One good place to start is to start reading at:

    git log -p --stat --full-diff --reverse 74703a1e4d.. -- 'builtin/*--helper.c'

And then search for git-.*\.sh in your pager. These are a bunch of
commits where the bisect, rebase and submodule helpers have had their
shellscript code incrementally replaced by C.

```

## Christian Couder, 2018-03-17 20:51

Subject: Re: [GSoC] Scripts to be conversted into builtins
Message-ID: <CAP8UFD0QMqUDmBSYT1_-BcUcfCFfxTef8PAddHzcDv+a0W+44Q@mail.gmail.com>
URL: https://gitlist.dev/e/CAP8UFD0QMqUDmBSYT1_-BcUcfCFfxTef8PAddHzcDv%2Ba0W%2B44Q%40mail.gmail.com
In-Reply-To: <87r2oid0df.fsf@evledraar.gmail.com>

```
On Sat, Mar 17, 2018 at 7:26 PM, Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
>
> On Sat, Mar 17 2018, Yash Yadav jotted:
>
>> Hello,
>>
>> I am a student going through the GSoC process.
>>
>> In the project ideas listed there is one idea talking of conversion of
>> scripts to builtins. This interests me but no pointer forward is given
>> and I'd like to dive more into that idea and go through the script(s).
>>
>> So, where should I look further from here?
>
> One good place to start is to start reading at:
>
>     git log -p --stat --full-diff --reverse 74703a1e4d.. -- 'builtin/*--helper.c'
>
> And then search for git-.*\.sh in your pager. These are a bunch of
> commits where the bisect, rebase and submodule helpers have had their
> shellscript code incrementally replaced by C.

Yeah, and we have been proposing this kind of GSoC projects for a
number of years now, so we have had a number of GSoC students doing
this kind of projects, and therefore a lot of information about their
projects is available in the mailing list archive.

```

## Johannes Schindelin, 2018-03-19 17:27

Subject: Re: [GSoC] Scripts to be conversted into builtins
Message-ID: <nycvar.QRO.7.76.6.1803191814110.55@ZVAVAG-6OXH6DA.rhebcr.pbec.zvpebfbsg.pbz>
URL: https://gitlist.dev/e/nycvar.QRO.7.76.6.1803191814110.55%40ZVAVAG-6OXH6DA.rhebcr.pbec.zvpebfbsg.pbz
In-Reply-To: <67e865ac-3303-eda6-e14b-f56607d64908@gmail.com>

```
Hi,

On Sat, 17 Mar 2018, Yash Yadav wrote:

> In the project ideas listed there is one idea talking of conversion of
> scripts to builtins. This interests me but no pointer forward is given
> and I'd like to dive more into that idea and go through the script(s).
> 
> So, where should I look further from here?

One concrete example how a script was converted can be seen here:

https://github.com/git/git/compare/b7786bb4b09%5E...b7786bb4b09%5E2

(This is the patch series that replaced the scripted version of the
`difftool` by the one written in portable C.)

But maybe you want to look at the micro-projects first, to see how you
like to work on Git's source code, and with the Git mailing list?

Ciao,
Johannes

```
