On Wed, Feb 17, 2016 at 5:34 PM, Matthieu Moy <Matthieu.Moy@xxxxxxxxxxxxxxx> wrote: > Stefan Beller <sbeller@xxxxxxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html