From mboxrd@z Thu Jan 1 00:00:00 1970 From: Johannes Schindelin Subject: Re: GSoC 2016: applications open, deadline = Fri, 19/2 Date: Wed, 17 Feb 2016 14:09:01 +0100 (CET) Message-ID: References: <20160212130446.GB10858@sigill.intra.peff.net> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Cc: Matthieu Moy , Jeff King , git , Christian Couder To: Stefan Beller X-From: git-owner@vger.kernel.org Wed Feb 17 14:09:17 2016 Return-path: Envelope-to: gcvg-git-2@plane.gmane.org Received: from vger.kernel.org ([209.132.180.67]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aW1r2-0007Y5-Js for gcvg-git-2@plane.gmane.org; Wed, 17 Feb 2016 14:09:16 +0100 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1161569AbcBQNJM (ORCPT ); Wed, 17 Feb 2016 08:09:12 -0500 Received: from mout.gmx.net ([212.227.15.19]:55818 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1161427AbcBQNJK (ORCPT ); Wed, 17 Feb 2016 08:09:10 -0500 Received: from virtualbox ([37.24.143.97]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0Meg8W-1aKx5L3equ-00OHLK; Wed, 17 Feb 2016 14:09:03 +0100 X-X-Sender: virtualbox@virtualbox In-Reply-To: User-Agent: Alpine 2.20 (DEB 67 2015-01-07) X-Provags-ID: V03:K0:4der7J8MqvBVTjWi7cKYjIdzWXwwoxRO1Y3Z4XLt1Y98T6uV5c+ 7pwz5yYpFWfywFR2xg7ZKJZsD76WnbGmusCokbYdO62ezeIVmFlqBzfFoWO5CUth4lgd+yD MXPw9CwL+IAhbHLunybbtsGKvLzVpzRL9v0tiBBEtMY+vB73RdpJS1tjyhIV1yo4Xqn0GbU P9WvUc5nUBcq+eo2FKz4w== X-UI-Out-Filterresults: notjunk:1;V01:K0:yar8VNFBxUg=:Qt+PNidt0WyGO61vdTpC67 C72R+wv9pilPt1KwkRlFyTdGucbfsoA13b9MMf1/lzveWsBkSqbRvdu9Atp1pMhvF+X7qYDNY LeUPT7rESqJR1vIbum2zas5MNo5n3P7jaQls+dR0ktcR/b6GKCpD1ZIiBHyqa69YOEGTVtY6p hTbukOwt2Sn+EU0o2hPDU3PXKQ4z/uLZ3juJLAG9VOgfzVUPI8RyF9+lDoIiE9BaSIdbk4bqF O5SW1GxckBGB+sInYErYzggRkHzfgZsKowYADuIuxZyeEmzXa62Rn9nNqZotsVnP2j5xfkBG7 tws489Lokrv8u861rrsN0QkjD9/2H2CZXCIn/92NDFOzgWD8TS50SMKAqOxnbi1aIuJOHGgT1 5miSlzsI6fhTEMLdtvTFVJnJPrdNU/YGUnHI/qDzn5mGCPTOFcVp7GKP6WhwptwXxH3BNjBEW LtNItvuzH5DmUM3JL63oLk7pA7VERLA+p6tL+5ghNc80VxfXF3ZFa8sNVOq6Xv3QM3uSkEwTx acKCVePPFLZD58mfVyyG1NueCS32DwD1FI13vr2a1YtArIzVwWPNxIDkGC+Nxt1adATddokH3 HuWzPt3nxu05ZZXMyJXyOEj2SR7SleB0KSyhNmzu6X9vw8fXPSQiHKmcFAmj3dZ88JFjo2dit zxcXwkJGAsa734e+1f8xpE1H6GXYrWRkdE4m/OWSL8aAYmyv0ax2HI9Oofp1C1uOBa0uE9JJ4 KpO//VGH4yDRQQeRS+dhHislOUYW8ONYujacdFbET59e1hVGMwHEo5b+0lAOeJ3MjMu7jR1M Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Archived-At: Hi Stefan, On Tue, 16 Feb 2016, Stefan Beller wrote: > 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. > > git-rebase.sh with 636 lines of code is quite a lot I would think. As pointed out by Matthieu, starting with `git-rebase.sh` would be the wrong way round. In addition, I would like to point out that turning shell scripts into builtins is not only hard work, it is also very dull. Maybe we can offer GSoC students something more exciting, and *just maybe* they'll stick around longer (I am amazed how active Karthik is, for example). > Then there is also git-bisect.sh with nearly 700 lines, which is also > not as easy. Nothing is easy, but bisect has a much better chance to be finally converted into a builtin: there is already a bisect--helper builtin, and all we need to do is to move more parts over, piece by piece. It does not even have to be a complete rewrite. I count 22 functions with bisect_start and bisect_replay being the obvious elephants. Personally, I would recommend starting with bisect_next_check (which would imply get_terms and bisect_voc, of course). It could even be a mini project for a prospective student. Ciao, Johannes