Re: GSoC 2016: applications open, deadline = Fri, 19/2
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- Feb 17, 2016, 10:45 UTC
- Message-ID
- <CACsJy8BGTQOGfOMcx6pnf6hfry4LojxXsWp-TaNyem-6j4USLw@mail.gmail.com>
- In-Reply-To
- <vpqio1nsk0q.fsf@anie.imag.fr>
On Wed, Feb 17, 2016 at 5:34 PM, Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> wrote:
Show 33 quoted lines
> Stefan Beller <sbeller@google.com> writes:
>
>> I'd be interested to co-mentor a sh->C conversion.
>>
>> I think the git-rebase*.sh is a good start.
>>
>> $ wc -l git-rebase*.sh
>> 101 git-rebase--am.sh
>> 1296 git-rebase--interactive.sh
>> 167 git-rebase--merge.sh
>> 636 git-rebase.sh
>> 2200 total
>>
>> So start with rebase--am and rebase--merge to have the same amount
>> of lines as git-pull.sh. I did not look at the code, just judging by
>> the lines of
>> code.
>
> There's a funny exercice there: the git-rebase--$type.sh scripts are not
> called as external helpers, but like this:
>
> run_specific_rebase () {
> if [ "$interactive_rebase" = implied ]; then
> GIT_EDITOR=:
> export GIT_EDITOR
> autosquash=
> fi
> . git-rebase--$type
> # ...
>
> So, turning these scripts into builtins would first require turning this
> ". git-rebase--$type" into an actual command call. But nothing
> unfeasible.Yeah we can turn those git-rebase--*.sh into separate actual programs, then we can convert git-rebase.sh to C and other subprograms at a later time. I started something back in 2013 [1] but never managed to finish it. Also see the abandoned rewrite effort [2] from git for windows
[1] https://github.com/pclouds/git/commits/rebase-rewrite [2] https://github.com/git-for-windows/git/pull/461
-- Duy