Re: [msysGit] Re: [RFH] GSoC 2015 application

2015-02-25 Thread Johannes Schindelin
Hi Duy,

On 2015-02-25 11:02, Duy Nguyen wrote:
 On Wed, Feb 25, 2015 at 6:56 AM, Matthieu Moy
 matthieu@grenoble-inp.fr wrote:
 To get an idea, I counted the lines of code written by the student I
 mentored last year:

 $ git log --author tanay...@gmail.com -p | diffstat -s
  43 files changed, 1225 insertions(+), 367 deletions(-)

 I would consider this GSoC as average (i.e. not exceptionnally good,
 but certainly not a bad one either), so you may hope for more, but you
 should not _expect_ much more IMHO.

 In comparison:

 $ wc -l git-add--interactive.perl
 1654 git-add--interactive.perl
 $ wc -l git-stash.sh
 617 git-stash.sh

 I'd expect a rewrite in C to at least double the number of lines of
 code, so rewriting git-stash would mean writting at least as many lines
 of code as the GSoC above. git-add--interactive.perl would be rather far
 above.

 But my point was not to convert _only_ git-pull.sh, but to have a GSoC
 starting with this one and plan more. Then, depending on how it goes,
 you can adjust the target.
 
 Some data point as I have a half-baked builtin/pull.c in my
 (forgotten) private branch for 3 years. pull.c has 389 lines (with 24
 shell lines left in #if 0). git-pull.sh has 340 lines. Let's add 100
 C lines  to pull.c when it's complete, that's 50% more lines. But in
 the git-pull case the student could get a good head start by reusing
 my code, maybe.

Thanks for the pointer, I will keep that in mind!

Ciao,
Dscho
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [msysGit] Re: [RFH] GSoC 2015 application

2015-02-25 Thread Johannes Schindelin
Hi Matthieu,

On 2015-02-25 11:25, Matthieu Moy wrote:
 - Original Message -

 On 2015-02-24 13:28, Jeff King wrote:
  On Tue, Feb 24, 2015 at 01:25:32PM +0100, Johannes Schindelin wrote:
 
   Thanks! No rush, as we are not even accepted yet, but you can create a
   profile at:
  
 http://google-melange.com
  
   and ask to join the git project as a mentor.
 
  I guess I can only ask that after the org is accepted, I will do so
  when (and if) that is the case.
 
  I think you can do it now; I had to create the project profile in order
  to do the application. But again, no rush.

 I tried, but there are no orgs listed as of yet when I click Make
 connection.
 
 Not sure what it's supposed to look like, but I think if you give us
 your username we can invite you as mentor.

Thanks. My username is – surprise! – 'dscho' ;-)

Ciao,
Dscho
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [msysGit] Re: [RFH] GSoC 2015 application

2015-02-25 Thread Matthieu Moy
- Original Message -
 Hi Peff,
 
 On 2015-02-24 13:28, Jeff King wrote:
  On Tue, Feb 24, 2015 at 01:25:32PM +0100, Johannes Schindelin wrote:
  
   Thanks! No rush, as we are not even accepted yet, but you can create a
   profile at:
  
 http://google-melange.com
  
   and ask to join the git project as a mentor.
 
  I guess I can only ask that after the org is accepted, I will do so
  when (and if) that is the case.
  
  I think you can do it now; I had to create the project profile in order
  to do the application. But again, no rush.
 
 I tried, but there are no orgs listed as of yet when I click Make
 connection.

Not sure what it's supposed to look like, but I think if you give us your 
username we can invite you as mentor.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [msysGit] Re: [RFH] GSoC 2015 application

2015-02-25 Thread Matthieu Moy
Johannes Schindelin johannes.schinde...@gmx.de writes:

 Done: https://github.com/git/git.github.io/pull/12
 
 Thanks, merged.

 I opened another PR, based on Mathieu's advice.

Thanks, merged.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [msysGit] Re: [RFH] GSoC 2015 application

2015-02-25 Thread Christian Couder
On Wed, Feb 25, 2015 at 9:44 AM, Johannes Schindelin
johannes.schinde...@gmx.de wrote:
 Hi Matthieu,

 On 2015-02-25 00:56, Matthieu Moy wrote:
 Johannes Schindelin johannes.schinde...@gmx.de writes:

 On 2015-02-24 19:25, Junio C Hamano wrote:
 On Tue, Feb 24, 2015 at 9:32 AM, Matthieu Moy
 matthieu@grenoble-inp.fr wrote:
 About the proposal:

   The idea of this project is to dive into the Git source code and
   convert, say, git-add--interactive.perl and/or git stash into proper C
   code, making it a so-called built-in.

 My advice would be to try converting several small scripts, and avoid
 targetting a big one
 add--interactive and stash are relatively complex beasts, perhaps
 git-pull.sh would be easier to start with.

 Yeah, I think that is a very good suggestion.

 Well, git-pull.sh is really small. I did not want to give the impression 
 that the Git project is giving out freebies. But I have no objection to 
 change it if you open that PR.

 To get an idea, I counted the lines of code written by the student I
 mentored last year:

 $ git log --author tanay...@gmail.com -p | diffstat -s
  43 files changed, 1225 insertions(+), 367 deletions(-)

 I would consider this GSoC as average (i.e. not exceptionnally good,
 but certainly not a bad one either), so you may hope for more, but you
 should not _expect_ much more IMHO.

 In comparison:

 $ wc -l git-add--interactive.perl
 1654 git-add--interactive.perl
 $ wc -l git-stash.sh
 617 git-stash.sh

There is also:

$ wc -l git-bisect.sh
528 git-bisect.sh

And there is already builtin/bisect--helper.c that can be used to
convert step by step shell code to C. I can mentor or co-mentor this
convertion by the way, but that would conflict with the other bisect
related GSoC project if a student takes it.

 I'd expect a rewrite in C to at least double the number of lines of
 code, so rewriting git-stash would mean writting at least as many lines
 of code as the GSoC above. git-add--interactive.perl would be rather far
 above.

 Sure. You're right, I was thinking too big.

 But my point was not to convert _only_ git-pull.sh, but to have a GSoC
 starting with this one and plan more. Then, depending on how it goes,
 you can adjust the target.

 That's excellent advice.

Yeah!

 This all depends on what you intend to do if the student does not finish
 the job. If you're going to do the rewrite yourself anyway, then having
 the student do even half of it is good already. If you're not going to
 finish the job by yourself, then a 95%-done-rewrite means a piece of
 code posted on the mailing list and never merged (and a lot of time
 wasted).

 Well, all of this is academic at this point.

Yeah, but it's still worth keeping in many parts of our collective mind :-)

 Let's see whether we get accepted, and then, if a student finds this project 
 compelling enough.

 If both things happen, I will definitely heed your advice and encourage the 
 student to start with some script that is easily converted, to get her feet 
 wet.

Great!

Thanks,
Christian.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [msysGit] Re: [RFH] GSoC 2015 application

2015-02-25 Thread Duy Nguyen
On Wed, Feb 25, 2015 at 6:56 AM, Matthieu Moy
matthieu@grenoble-inp.fr wrote:
 To get an idea, I counted the lines of code written by the student I
 mentored last year:

 $ git log --author tanay...@gmail.com -p | diffstat -s
  43 files changed, 1225 insertions(+), 367 deletions(-)

 I would consider this GSoC as average (i.e. not exceptionnally good,
 but certainly not a bad one either), so you may hope for more, but you
 should not _expect_ much more IMHO.

 In comparison:

 $ wc -l git-add--interactive.perl
 1654 git-add--interactive.perl
 $ wc -l git-stash.sh
 617 git-stash.sh

 I'd expect a rewrite in C to at least double the number of lines of
 code, so rewriting git-stash would mean writting at least as many lines
 of code as the GSoC above. git-add--interactive.perl would be rather far
 above.

 But my point was not to convert _only_ git-pull.sh, but to have a GSoC
 starting with this one and plan more. Then, depending on how it goes,
 you can adjust the target.

Some data point as I have a half-baked builtin/pull.c in my
(forgotten) private branch for 3 years. pull.c has 389 lines (with 24
shell lines left in #if 0). git-pull.sh has 340 lines. Let's add 100
C lines  to pull.c when it's complete, that's 50% more lines. But in
the git-pull case the student could get a good head start by reusing
my code, maybe.
-- 
Duy
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [msysGit] Re: [RFH] GSoC 2015 application

2015-02-25 Thread Michael J Gruber
Stefan Beller venit, vidit, dixit 25.02.2015 01:34:
 On Tue, Feb 24, 2015 at 3:56 PM, Matthieu Moy
 matthieu@grenoble-inp.fr wrote:
 Johannes Schindelin johannes.schinde...@gmx.de writes:

 Hi Junio,

 On 2015-02-24 19:25, Junio C Hamano wrote:
 On Tue, Feb 24, 2015 at 9:32 AM, Matthieu Moy
 matthieu@grenoble-inp.fr wrote:
 About the proposal:

   The idea of this project is to dive into the Git source code and
   convert, say, git-add--interactive.perl and/or git stash into proper C
   code, making it a so-called built-in.

 My advice would be to try converting several small scripts, and avoid
 targetting a big one
 add--interactive and stash are relatively complex beasts, perhaps
 git-pull.sh would be easier to start with.

 Yeah, I think that is a very good suggestion.

 Well, git-pull.sh is really small. I did not want to give the impression 
 that the Git project is giving out freebies. But I have no objection to 
 change it if you open that PR.

 To get an idea, I counted the lines of code written by the student I
 mentored last year:

 $ git log --author tanay...@gmail.com -p | diffstat -s
  43 files changed, 1225 insertions(+), 367 deletions(-)

 I would consider this GSoC as average (i.e. not exceptionnally good,
 but certainly not a bad one either), so you may hope for more, but you
 should not _expect_ much more IMHO.

 In comparison:

 $ wc -l git-add--interactive.perl
 1654 git-add--interactive.perl
 $ wc -l git-stash.sh
 617 git-stash.sh

 I'd expect a rewrite in C to at least double the number of lines of
 code, so rewriting git-stash would mean writting at least as many lines
 of code as the GSoC above. git-add--interactive.perl would be rather far
 above.

 But my point was not to convert _only_ git-pull.sh, but to have a GSoC
 starting with this one and plan more. Then, depending on how it goes,
 you can adjust the target.

 This all depends on what you intend to do if the student does not finish
 the job. If you're going to do the rewrite yourself anyway, then having
 the student do even half of it is good already. If you're not going to
 finish the job by yourself, then a 95%-done-rewrite means a piece of
 code posted on the mailing list and never merged (and a lot of time
 wasted).

 In any case, these are just advices, certainly not objections or hard
 requests to change.

 
 
 Once upon a time (Sep 2013) I rewrote builtin/repack.c which was a
 shell script before. I did not have much real-coding expertise with the
 git community before and by today there are 403 lines of code in
 builtin/repack.c. so going for roughly 3 times (1200 lines of code) change
 would make a summer, specially if you need to learn how the workflow
 is in the open source world.  There the lines in c doubled nearly exactly.
 (before 197 shell lines, afterwards 387 c lines).
 
 Just last weekend I met people, who were afraid of contributing to open source
 because sometimes the internet can be very mean. Git being quite a high
 profile project, as it is widely used, might not help, but rather fear
 people away.

I guess they've read about the lkml too much :)

I consider the gitml to be a relatively civilized place for constructive
criticism, without rants, flame wars and ad hominem swear word attacks.
I don't know how it's perceived from the outside (but that drew me in
back then).

Maybe we can attach a photo of our maintainer to the GSOC page? That
would prove we're nice and polite :)

 That said I would not underestimate the initial time a student needs to learn
 the workflow. Though most of that learning is done in the micro project phase.

Yes, the technical workflow as well as the social habits. They should
follow the gitml even before, and then the micro projects are a great
learning ground.

Michael
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [msysGit] Re: [RFH] GSoC 2015 application

2015-02-25 Thread Johannes Schindelin
Hi Peff,

On 2015-02-24 13:28, Jeff King wrote:
 On Tue, Feb 24, 2015 at 01:25:32PM +0100, Johannes Schindelin wrote:
 
  Thanks! No rush, as we are not even accepted yet, but you can create a
  profile at:
 
http://google-melange.com
 
  and ask to join the git project as a mentor.

 I guess I can only ask that after the org is accepted, I will do so
 when (and if) that is the case.
 
 I think you can do it now; I had to create the project profile in order
 to do the application. But again, no rush.

I tried, but there are no orgs listed as of yet when I click Make connection.

 Done: https://github.com/git/git.github.io/pull/12
 
 Thanks, merged.

I opened another PR, based on Mathieu's advice.

Ciao,
Dscho
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [msysGit] Re: [RFH] GSoC 2015 application

2015-02-25 Thread Johannes Schindelin
Hi Matthieu,

On 2015-02-25 00:56, Matthieu Moy wrote:
 Johannes Schindelin johannes.schinde...@gmx.de writes:
 
 On 2015-02-24 19:25, Junio C Hamano wrote:
 On Tue, Feb 24, 2015 at 9:32 AM, Matthieu Moy
 matthieu@grenoble-inp.fr wrote:
 About the proposal:

   The idea of this project is to dive into the Git source code and
   convert, say, git-add--interactive.perl and/or git stash into proper C
   code, making it a so-called built-in.

 My advice would be to try converting several small scripts, and avoid
 targetting a big one
 add--interactive and stash are relatively complex beasts, perhaps
 git-pull.sh would be easier to start with.

 Yeah, I think that is a very good suggestion.

 Well, git-pull.sh is really small. I did not want to give the impression 
 that the Git project is giving out freebies. But I have no objection to 
 change it if you open that PR.
 
 To get an idea, I counted the lines of code written by the student I
 mentored last year:
 
 $ git log --author tanay...@gmail.com -p | diffstat -s   
  43 files changed, 1225 insertions(+), 367 deletions(-)
 
 I would consider this GSoC as average (i.e. not exceptionnally good,
 but certainly not a bad one either), so you may hope for more, but you
 should not _expect_ much more IMHO.
 
 In comparison:
 
 $ wc -l git-add--interactive.perl
 1654 git-add--interactive.perl
 $ wc -l git-stash.sh
 617 git-stash.sh
 
 I'd expect a rewrite in C to at least double the number of lines of
 code, so rewriting git-stash would mean writting at least as many lines
 of code as the GSoC above. git-add--interactive.perl would be rather far
 above.

Sure. You're right, I was thinking too big.

 But my point was not to convert _only_ git-pull.sh, but to have a GSoC
 starting with this one and plan more. Then, depending on how it goes,
 you can adjust the target.

That's excellent advice.

 This all depends on what you intend to do if the student does not finish
 the job. If you're going to do the rewrite yourself anyway, then having
 the student do even half of it is good already. If you're not going to
 finish the job by yourself, then a 95%-done-rewrite means a piece of
 code posted on the mailing list and never merged (and a lot of time
 wasted).

Well, all of this is academic at this point. Let's see whether we get accepted, 
and then, if a student finds this project compelling enough.

If both things happen, I will definitely heed your advice and encourage the 
student to start with some script that is easily converted, to get her feet 
wet.

Ciao,
Dscho
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [msysGit] Re: [RFH] GSoC 2015 application

2015-02-24 Thread Johannes Schindelin
Hi Junio,

On 2015-02-24 19:25, Junio C Hamano wrote:
 On Tue, Feb 24, 2015 at 9:32 AM, Matthieu Moy
 matthieu@grenoble-inp.fr wrote:
 About the proposal:

   The idea of this project is to dive into the Git source code and
   convert, say, git-add--interactive.perl and/or git stash into proper C
   code, making it a so-called built-in.

 My advice would be to try converting several small scripts, and avoid
 targetting a big one
 add--interactive and stash are relatively complex beasts, perhaps
 git-pull.sh would be easier to start with.
 
 Yeah, I think that is a very good suggestion.

Well, git-pull.sh is really small. I did not want to give the impression that 
the Git project is giving out freebies. But I have no objection to change it if 
you open that PR.

 Also drop proper as if scripted Porcelains are second class citizens ;-)

If you had to deal with the portability/performance issues of the shell scripts 
I am frequently faced with, you would not call them first class citizens, 
either.

Ciao,
Dscho
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [msysGit] Re: [RFH] GSoC 2015 application

2015-02-24 Thread Johannes Schindelin
Hi Peff,

On 2015-02-18 20:32, Jeff King wrote:

 On Wed, Feb 18, 2015 at 02:14:17PM -0500, Jeff King wrote:
 
 The response to my previous email was not overwhelming, but people did
 express some interest in Git doing GSoC this year. So I've started on
 the application, using last year's version as a template.

I feel unqualified to fill in the information, having kept out of the loop of 
the past years' GSoC efforts.

After considerable consideration, I am offering to mentor Windows-related 
projects (into which I count conversion of scripts into builtins).

Thanks,
Dscho

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [msysGit] Re: [RFH] GSoC 2015 application

2015-02-24 Thread Jeff King
On Tue, Feb 24, 2015 at 01:25:32PM +0100, Johannes Schindelin wrote:

  Thanks! No rush, as we are not even accepted yet, but you can create a
  profile at:
  
http://google-melange.com
  
  and ask to join the git project as a mentor.
 
 I guess I can only ask that after the org is accepted, I will do so
 when (and if) that is the case.

I think you can do it now; I had to create the project profile in order
to do the application. But again, no rush.

 Done: https://github.com/git/git.github.io/pull/12

Thanks, merged.

-Peff
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [msysGit] Re: [RFH] GSoC 2015 application

2015-02-24 Thread Johannes Schindelin
Hi Peff,

On 2015-02-24 13:06, Jeff King wrote:
 On Tue, Feb 24, 2015 at 01:01:17PM +0100, Johannes Schindelin wrote:
 
 After considerable consideration, I am offering to mentor
 Windows-related projects (into which I count conversion of scripts
 into builtins).
 
 Thanks! No rush, as we are not even accepted yet, but you can create a
 profile at:
 
   http://google-melange.com
 
 and ask to join the git project as a mentor.

I guess I can only ask that after the org is accepted, I will do so when (and 
if) that is the case.

 You may also want to add Windows-specific ideas to the page at:
 
   https://github.com/git/git.github.io/blob/master/SoC-2015-Ideas.md
 
 Even something high-level like helping move programs to builtins to
 help Windows will let students know that it's a potential direction.

Done: https://github.com/git/git.github.io/pull/12

Thank you,
Dscho
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [msysGit] Re: [RFH] GSoC 2015 application

2015-02-24 Thread Matthieu Moy
Johannes Schindelin johannes.schinde...@gmx.de writes:

 After considerable consideration, I am offering to mentor
 Windows-related projects (into which I count conversion of scripts
 into builtins).

Good news!

About the proposal:

  The idea of this project is to dive into the Git source code and
  convert, say, git-add--interactive.perl and/or git stash into proper C
  code, making it a so-called built-in.

My advice would be to try converting several small scripts, and avoid
targetting a big one. This way, you can have a first patch series
reviewed on-list, and merged in pu rather soon. From my experience, an
early review is very important to get the student on track, and
splitting the GSoC into multiple related projects avoids the situation
where you have the feature 95% completed at the end of the GSoC, but
nothing merged.

add--interactive and stash are relatively complex beasts, perhaps
git-pull.sh would be easier to start with.

OTOH, you know which script would be most useful to be converted into a
builtin much better than me!

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [msysGit] Re: [RFH] GSoC 2015 application

2015-02-24 Thread Junio C Hamano
On Tue, Feb 24, 2015 at 9:32 AM, Matthieu Moy
matthieu@grenoble-inp.fr wrote:
 About the proposal:

   The idea of this project is to dive into the Git source code and
   convert, say, git-add--interactive.perl and/or git stash into proper C
   code, making it a so-called built-in.

 My advice would be to try converting several small scripts, and avoid
 targetting a big one
 add--interactive and stash are relatively complex beasts, perhaps
 git-pull.sh would be easier to start with.

Yeah, I think that is a very good suggestion.

Also drop proper as if scripted Porcelains are second class citizens ;-)
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [msysGit] Re: [RFH] GSoC 2015 application

2015-02-24 Thread Matthieu Moy
Johannes Schindelin johannes.schinde...@gmx.de writes:

 Hi Junio,

 On 2015-02-24 19:25, Junio C Hamano wrote:
 On Tue, Feb 24, 2015 at 9:32 AM, Matthieu Moy
 matthieu@grenoble-inp.fr wrote:
 About the proposal:

   The idea of this project is to dive into the Git source code and
   convert, say, git-add--interactive.perl and/or git stash into proper C
   code, making it a so-called built-in.

 My advice would be to try converting several small scripts, and avoid
 targetting a big one
 add--interactive and stash are relatively complex beasts, perhaps
 git-pull.sh would be easier to start with.
 
 Yeah, I think that is a very good suggestion.

 Well, git-pull.sh is really small. I did not want to give the impression that 
 the Git project is giving out freebies. But I have no objection to change it 
 if you open that PR.

To get an idea, I counted the lines of code written by the student I
mentored last year:

$ git log --author tanay...@gmail.com -p | diffstat -s   
 43 files changed, 1225 insertions(+), 367 deletions(-)

I would consider this GSoC as average (i.e. not exceptionnally good,
but certainly not a bad one either), so you may hope for more, but you
should not _expect_ much more IMHO.

In comparison:

$ wc -l git-add--interactive.perl
1654 git-add--interactive.perl
$ wc -l git-stash.sh
617 git-stash.sh

I'd expect a rewrite in C to at least double the number of lines of
code, so rewriting git-stash would mean writting at least as many lines
of code as the GSoC above. git-add--interactive.perl would be rather far
above.

But my point was not to convert _only_ git-pull.sh, but to have a GSoC
starting with this one and plan more. Then, depending on how it goes,
you can adjust the target.

This all depends on what you intend to do if the student does not finish
the job. If you're going to do the rewrite yourself anyway, then having
the student do even half of it is good already. If you're not going to
finish the job by yourself, then a 95%-done-rewrite means a piece of
code posted on the mailing list and never merged (and a lot of time
wasted).

In any case, these are just advices, certainly not objections or hard
requests to change.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [msysGit] Re: [RFH] GSoC 2015 application

2015-02-24 Thread Stefan Beller
On Tue, Feb 24, 2015 at 3:56 PM, Matthieu Moy
matthieu@grenoble-inp.fr wrote:
 Johannes Schindelin johannes.schinde...@gmx.de writes:

 Hi Junio,

 On 2015-02-24 19:25, Junio C Hamano wrote:
 On Tue, Feb 24, 2015 at 9:32 AM, Matthieu Moy
 matthieu@grenoble-inp.fr wrote:
 About the proposal:

   The idea of this project is to dive into the Git source code and
   convert, say, git-add--interactive.perl and/or git stash into proper C
   code, making it a so-called built-in.

 My advice would be to try converting several small scripts, and avoid
 targetting a big one
 add--interactive and stash are relatively complex beasts, perhaps
 git-pull.sh would be easier to start with.

 Yeah, I think that is a very good suggestion.

 Well, git-pull.sh is really small. I did not want to give the impression 
 that the Git project is giving out freebies. But I have no objection to 
 change it if you open that PR.

 To get an idea, I counted the lines of code written by the student I
 mentored last year:

 $ git log --author tanay...@gmail.com -p | diffstat -s
  43 files changed, 1225 insertions(+), 367 deletions(-)

 I would consider this GSoC as average (i.e. not exceptionnally good,
 but certainly not a bad one either), so you may hope for more, but you
 should not _expect_ much more IMHO.

 In comparison:

 $ wc -l git-add--interactive.perl
 1654 git-add--interactive.perl
 $ wc -l git-stash.sh
 617 git-stash.sh

 I'd expect a rewrite in C to at least double the number of lines of
 code, so rewriting git-stash would mean writting at least as many lines
 of code as the GSoC above. git-add--interactive.perl would be rather far
 above.

 But my point was not to convert _only_ git-pull.sh, but to have a GSoC
 starting with this one and plan more. Then, depending on how it goes,
 you can adjust the target.

 This all depends on what you intend to do if the student does not finish
 the job. If you're going to do the rewrite yourself anyway, then having
 the student do even half of it is good already. If you're not going to
 finish the job by yourself, then a 95%-done-rewrite means a piece of
 code posted on the mailing list and never merged (and a lot of time
 wasted).

 In any case, these are just advices, certainly not objections or hard
 requests to change.



Once upon a time (Sep 2013) I rewrote builtin/repack.c which was a
shell script before. I did not have much real-coding expertise with the
git community before and by today there are 403 lines of code in
builtin/repack.c. so going for roughly 3 times (1200 lines of code) change
would make a summer, specially if you need to learn how the workflow
is in the open source world.  There the lines in c doubled nearly exactly.
(before 197 shell lines, afterwards 387 c lines).

Just last weekend I met people, who were afraid of contributing to open source
because sometimes the internet can be very mean. Git being quite a high
profile project, as it is widely used, might not help, but rather fear
people away.
That said I would not underestimate the initial time a student needs to learn
the workflow. Though most of that learning is done in the micro project phase.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html