All of lore.kernel.org
 help / color / mirror / Atom feed
* Git in GSoC 2014
@ 2014-02-25 15:41 Jeff King
  2014-02-25 16:42 ` Dmitry S. Dolzhenko
                   ` (3 more replies)
  0 siblings, 4 replies; 20+ messages in thread
From: Jeff King @ 2014-02-25 15:41 UTC (permalink / raw)
  To: git

I'm pleased to announce that Git has been accepted to this year's Google
Summer of Code.

Student proposals will start coming in on March 22. In the meantime
students will be reading our Ideas page[1] and enquiring about the
program on the mailing list and on irc. There are many ways that
existing git developers can help:

  - continue to add to and polish the Ideas page

  - interact with prospective students; besides responding to questions
    on the list, hanging around on #git and #git-devel on freenode is
    helpful

  - volunteer to mentor and/or rank student proposals. You can sign up
    at http://google-melange.com, and request to be added as a mentor
    for the git project.

We didn't discuss earlier whether we would have any specific
requirements for students during the proposal period (e.g., having a
patch accepted). It would be good to put together rules (or barring any
specific requirements, guidelines to help students put together a good
proposal) as soon as possible. Suggestions are welcome.

-Peff

[1] http://git.github.io/SoC-2014-Ideas.html

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014
  2014-02-25 15:41 Git in GSoC 2014 Jeff King
@ 2014-02-25 16:42 ` Dmitry S. Dolzhenko
  2014-02-25 17:15 ` Michael Haggerty
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 20+ messages in thread
From: Dmitry S. Dolzhenko @ 2014-02-25 16:42 UTC (permalink / raw)
  To: git

Hi.

I was just going to write an email about that I would like to 
participate in GSoC and contribute to Git project.

I don't have wide experience in C programming, but I could be start as a 
"janitor". I found several tasks here 
https://git.wiki.kernel.org/index.php/Janitor. For example "Refactor 
binary search functions". If this task is actual, I could be to start 
from it.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014
  2014-02-25 15:41 Git in GSoC 2014 Jeff King
  2014-02-25 16:42 ` Dmitry S. Dolzhenko
@ 2014-02-25 17:15 ` Michael Haggerty
  2014-02-26 10:23   ` Jeff King
  2014-02-26 11:16 ` Duy Nguyen
  2014-02-26 17:15 ` Git in GSoC 2014 Suggestion: core.filemode always false for cygwin Torsten Bögershausen
  3 siblings, 1 reply; 20+ messages in thread
From: Michael Haggerty @ 2014-02-25 17:15 UTC (permalink / raw)
  To: Jeff King; +Cc: git

On 02/25/2014 04:41 PM, Jeff King wrote:
> I'm pleased to announce that Git has been accepted to this year's Google
> Summer of Code.

Cool!  Thanks to Peff and Thomas and Vicent and whomever else was
involved in getting our application done!  For those who don't know, the
application covers both Git core and libgit2.

> We didn't discuss earlier whether we would have any specific
> requirements for students during the proposal period (e.g., having a
> patch accepted). It would be good to put together rules (or barring any
> specific requirements, guidelines to help students put together a good
> proposal) as soon as possible. Suggestions are welcome.

Requiring students to submit a reasonable patch and follow up on review
comments seems like it would be a good way to filter out non-serious
students.  (I hesitate to require that the patch be accepted because it
can take quite a while for a patch to make it to master, despite of the
student's efforts.)

Does anybody know whether other organizations have had good experience
with criteria like that?  Does it chase *all* the applicants away?

If we wanted to impose such a hurdle, then we would definitely have to
make up a list of microprojects so that the students don't have to start
from nothing.  I imagine it shouldn't be too hard to find tiny projects
estimated at 10-30 minutes of actual work, which should be plenty
difficult for a student who also has to figure out how to check out the
code, conform to our coding standards, run the unit tests, create a
patch submission, etc.

If the reaction is positive to this idea then I volunteer to spend
several hours tomorrow looking for microprojects, and I suggest other
core developers do so as well.  They should presumably be submitted as
patches to the ideas repository [1].

What do you think?

Michael

[1] https://github.com/git/git.github.io

-- 
Michael Haggerty
mhagger@alum.mit.edu
http://softwareswirl.blogspot.com/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014
  2014-02-25 17:15 ` Michael Haggerty
@ 2014-02-26 10:23   ` Jeff King
  2014-02-26 10:41     ` Michael Haggerty
  0 siblings, 1 reply; 20+ messages in thread
From: Jeff King @ 2014-02-26 10:23 UTC (permalink / raw)
  To: Michael Haggerty; +Cc: git

On Tue, Feb 25, 2014 at 06:15:28PM +0100, Michael Haggerty wrote:

> > We didn't discuss earlier whether we would have any specific
> > requirements for students during the proposal period (e.g., having a
> > patch accepted). It would be good to put together rules (or barring any
> > specific requirements, guidelines to help students put together a good
> > proposal) as soon as possible. Suggestions are welcome.
> 
> Requiring students to submit a reasonable patch and follow up on review
> comments seems like it would be a good way to filter out non-serious
> students.  (I hesitate to require that the patch be accepted because it
> can take quite a while for a patch to make it to master, despite of the
> student's efforts.)

Yeah, I think the early stages of "accepted" are somewhat vague.
Probably "patch is in next" is a reasonable definition, but I do not
think we even need to bind ourselves so strictly. Humans read, evaluate,
and rank the proposals, so we can use our judgement about whether a
patch looks promising.

> Does anybody know whether other organizations have had good experience
> with criteria like that?  Does it chase *all* the applicants away?

If you haven't seen it, there is a guide written by mentors and admins
from past years:

 http://en.flossmanuals.net/GSoCMentoring/

I did not see this particular subject covered, though I seem to recall
it has come up on the mentor list in past years. I can't search the
archive now, because they haven't re-added me for this year yet, but
I'll do so once I have access.

I think I'm in favor. It seems like a minimal hurdle to overcome, and I
think everybody is more than happy to coach new contributors through the
process.

> If we wanted to impose such a hurdle, then we would definitely have to
> make up a list of microprojects so that the students don't have to start
> from nothing.  I imagine it shouldn't be too hard to find tiny projects
> estimated at 10-30 minutes of actual work, which should be plenty
> difficult for a student who also has to figure out how to check out the
> code, conform to our coding standards, run the unit tests, create a
> patch submission, etc.

The hack-a-thon bug list I posted earlier has some potential points of
interest, but I need to update it to reflect the work done that day (a
lot of that is trickling in to me for initial comments, and then I'll
direct them to the list, but I'm a bit behind on dealing with it).

> If the reaction is positive to this idea then I volunteer to spend
> several hours tomorrow looking for microprojects, and I suggest other
> core developers do so as well.  They should presumably be submitted as
> patches to the ideas repository [1].

Yes, though I think it makes sense to put them on a separate page. We
should probably write up some notes for students, too: how to get in
touch with us, what do we expect of them in the pre-proposal period,
what would we expect in terms of communication and day-to-day workflow
during the summer, etc.

-Peff

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014
  2014-02-26 10:23   ` Jeff King
@ 2014-02-26 10:41     ` Michael Haggerty
  2014-02-26 11:04       ` Jeff King
                         ` (2 more replies)
  0 siblings, 3 replies; 20+ messages in thread
From: Michael Haggerty @ 2014-02-26 10:41 UTC (permalink / raw)
  To: Jeff King; +Cc: git

On 02/26/2014 11:23 AM, Jeff King wrote:
> On Tue, Feb 25, 2014 at 06:15:28PM +0100, Michael Haggerty wrote:
>> Requiring students to submit a reasonable patch and follow up on review
>> comments seems like it would be a good way to filter out non-serious
>> students.  (I hesitate to require that the patch be accepted because it
>> can take quite a while for a patch to make it to master, despite of the
>> student's efforts.)
> 
> Yeah, I think the early stages of "accepted" are somewhat vague.
> Probably "patch is in next" is a reasonable definition, but I do not
> think we even need to bind ourselves so strictly. Humans read, evaluate,
> and rank the proposals, so we can use our judgement about whether a
> patch looks promising.

Agreed.

> [...]
>> If we wanted to impose such a hurdle, then we would definitely have to
>> make up a list of microprojects so that the students don't have to start
>> from nothing.  [...]
>> If the reaction is positive to this idea then I volunteer to spend
>> several hours tomorrow looking for microprojects, and I suggest other
>> core developers do so as well.  They should presumably be submitted as
>> patches to the ideas repository [1].
> 
> Yes, though I think it makes sense to put them on a separate page. We
> should probably write up some notes for students, too: how to get in
> touch with us, what do we expect of them in the pre-proposal period,
> what would we expect in terms of communication and day-to-day workflow
> during the summer, etc.

Since time is short, I already started on this.  I wrote a first draft
of an introduction for the students.  I also started looking for
microprojects.  I started going through our source files alphabetically,
and have already found six suggestions by "bundle.c", so I don't think
there will be a problem finding enough tiny things to do.

See my branch on GitHub [1] or read the appended text below.

I've been looking for *really* tiny projects.  Feedback is welcome about
whether they are too trivial to be meaningful in distinguishing
promising students from no-hopers.  My feeling is that there is so much
process involved in submitting a patch that it will take even a
well-prepared student quite a while to make a change, no matter how trivial.

Also, how many suggested microprojects do you think we need (i.e., when
can I stop :-) )?

Michael

[1] https://github.com/mhagger/git.github.io/tree/microprojects


---
layout: default
title: SoC 2014 Applicant Microprojects
---

## Introduction

It is strongly recommended that students who want to apply to the Git
project for the Summer of Code 2014 should submit a small code-related
patch to the Git project as part of their application.  Think of these
microprojects as the "Hello, world" of getting involved with the Git
project; the coding aspect of the change can be almost trivial, but to
make the change the student has to become familiar with many of the
practical aspects of working on the Git project:

* Downloading the source code: clone the repository using the
  [Git via Git](http://git-scm.com/downloads) instructions and read
  the `README` file.

* Build the source code: this is described in the file `INSTALL`.

* Glance over our coding guidelines in the file
  `Documentation/CodingGuidelines`.  We take things like proper code
  formatting very seriously.

* Read about the process for submitting patches to Git: this is
  described in `Documentation/SubmittingPatches`.

* Making the actual change.

* Run the test suite: this is described in the file `t/README`.  (If
  you have added new functionality, you should also add tests, but
  most microprojects will not add new functionality.)

* Commit your change.  Surprise: we use Git for that, so you will need
  to gain at least
  [a basic familiarity](http://git-scm.com/documentation) with using
  Git.  Make sure to write a good commit message that explains the
  reason for the change and any ramifications.  Remember to add a
  Signed-off-by line (see the coding guidelines for more information).

* Submit your change to the Git mailing list.  For this step you
  probably want to use the commands `git format-patch` and `git
  send-email`.

* Expect feedback, criticism, suggestions, etc. from the mailing list.

  *Respond to it!* and follow up with improved versions of your
  change.  Even for a trivial patch you shouldn't be surprised if it
  takes two or more iterations before your patch is accepted.  *This
  is the best part of the Git community; it is your chance to get
  personalized instruction from very experienced peers!*

The coding part of the microproject should be very small (say, 10-30
minutes).  We don't require that your patch be accepted into master by
the time of your formal application; we mostly want to see that you
have a basic level of competence and especially the ability to
interact with the other Git developers.

When you submit your patch, please mention that you plan to apply for
the GSoC.  This will ensure that we take special care not to overlook
your application among the large pile of others.

## Ideas for microprojects

The following are just ideas.  Any small code-related change would be
suitable.  Just remember to keep the change small!  It is much better
to finish a small but complete patch than to try something too
ambitious and not get it done.

1.  Rewrite `git-compat-util.h:skip_prefix()` as a loop, so that it
    doesn't have to scan through the `prefix` string twice.

2.  Change `branch.c:install_branch_config()` to use `skip_prefix()`.

3.  In `branch.c:setup_tracking()`, figure out where the magic number
    `1024 - 7 - 7 - 1` comes from.  (Looking through the commit
    history might help.)  If the check involving the number is still
    necessary, document where the number comes from.  If the check is
    no longer necessary, explain why and delete the check.

4.  Rewrite `bulk-checkin.c:finish_bulk_checkin()` to use a `strbuf`
    for handling `packname`, and explain why this is useful.  Also
    check if the first argument of
    `pack-write.c:finish_tmp_packfile()` can be made const.

5.  Change `bundle.c:add_to_ref_list()` to use `hashcpy()`.  See if
    you can find other places where `hashcpy()` should be used instead
    of `memcpy()`.

6.  Change `bundle.c:add_to_ref_list()` to use `ALLOC_GROW()`.


-- 
Michael Haggerty
mhagger@alum.mit.edu
http://softwareswirl.blogspot.com/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014
  2014-02-26 10:41     ` Michael Haggerty
@ 2014-02-26 11:04       ` Jeff King
  2014-02-26 11:25       ` Vicent Martí
  2014-02-26 19:48       ` Junio C Hamano
  2 siblings, 0 replies; 20+ messages in thread
From: Jeff King @ 2014-02-26 11:04 UTC (permalink / raw)
  To: Michael Haggerty; +Cc: git

On Wed, Feb 26, 2014 at 11:41:21AM +0100, Michael Haggerty wrote:

> > Yes, though I think it makes sense to put them on a separate page. We
> > should probably write up some notes for students, too: how to get in
> > touch with us, what do we expect of them in the pre-proposal period,
> > what would we expect in terms of communication and day-to-day workflow
> > during the summer, etc.
> 
> Since time is short, I already started on this.  I wrote a first draft
> of an introduction for the students.  I also started looking for
> microprojects.  I started going through our source files alphabetically,
> and have already found six suggestions by "bundle.c", so I don't think
> there will be a problem finding enough tiny things to do.

Thanks, the intro text looks great.

We probably need some intro text to go on the ideas page (that is what
Google links to for prospective students) that points them to the
microproject page.

> See my branch on GitHub [1] or read the appended text below.

I've merged and pushed out your branch (I'll work on getting push access
for people, as there's no real reason for me to be an integration
bottleneck with this stuff).

> I've been looking for *really* tiny projects.  Feedback is welcome about
> whether they are too trivial to be meaningful in distinguishing
> promising students from no-hopers.  My feeling is that there is so much
> process involved in submitting a patch that it will take even a
> well-prepared student quite a while to make a change, no matter how trivial.

I really like the level of the projects below. It should be more about
the process than the code, and I think you nailed that. I especially
like the ones that require some digging in history.

The bug list I mentioned before is probably too heavyweight in that
sense (they're more like 4-6 hour projects for somebody who isn't
familiar with the code, plus submission headaches on top of that).

> Also, how many suggested microprojects do you think we need (i.e., when
> can I stop :-) )?

I think it depends on how quickly people do them. We can always add more
if they run low (though 6 does not provide a huge buffer, so we may want
a few more).

> 6.  Change `bundle.c:add_to_ref_list()` to use `ALLOC_GROW()`.

This is the only one that seemed like it might be _too_ trivial to me.
The memcpy/hashcpy one is similarly trivial, but I like the add-on of
"look for other places". I guess we could do that here, too.

-Peff

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014
  2014-02-25 15:41 Git in GSoC 2014 Jeff King
  2014-02-25 16:42 ` Dmitry S. Dolzhenko
  2014-02-25 17:15 ` Michael Haggerty
@ 2014-02-26 11:16 ` Duy Nguyen
  2014-02-26 11:24   ` Vicent Martí
  2014-02-26 17:15 ` Git in GSoC 2014 Suggestion: core.filemode always false for cygwin Torsten Bögershausen
  3 siblings, 1 reply; 20+ messages in thread
From: Duy Nguyen @ 2014-02-26 11:16 UTC (permalink / raw)
  To: Jeff King; +Cc: Git Mailing List

On Tue, Feb 25, 2014 at 10:41 PM, Jeff King <peff@peff.net> wrote:
> I'm pleased to announce that Git has been accepted to this year's Google
> Summer of Code.
>
> Student proposals will start coming in on March 22. In the meantime
> students will be reading our Ideas page[1] and enquiring about the
> program on the mailing list and on irc. There are many ways that
> existing git developers can help:
>
>   - continue to add to and polish the Ideas page

One thing I noticed after tg/index-v4-format is both libgit2 and jgit
do not seem to support index v4. So we could add "index v4 support on
libgit2" to the idea page. It's a relatively small task though once
you get a hang on index format.
-- 
Duy

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014
  2014-02-26 11:16 ` Duy Nguyen
@ 2014-02-26 11:24   ` Vicent Martí
  2014-02-26 11:30     ` Jeff King
  0 siblings, 1 reply; 20+ messages in thread
From: Vicent Martí @ 2014-02-26 11:24 UTC (permalink / raw)
  To: Duy Nguyen; +Cc: Jeff King, Git Mailing List, Shawn Pearce

On Wed, Feb 26, 2014 at 12:16 PM, Duy Nguyen <pclouds@gmail.com> wrote:
> On Tue, Feb 25, 2014 at 10:41 PM, Jeff King <peff@peff.net> wrote:
>> I'm pleased to announce that Git has been accepted to this year's Google
>> Summer of Code.
>>
>> Student proposals will start coming in on March 22. In the meantime
>> students will be reading our Ideas page[1] and enquiring about the
>> program on the mailing list and on irc. There are many ways that
>> existing git developers can help:
>>
>>   - continue to add to and polish the Ideas page
>
> One thing I noticed after tg/index-v4-format is both libgit2 and jgit
> do not seem to support index v4. So we could add "index v4 support on
> libgit2" to the idea page. It's a relatively small task though once
> you get a hang on index format.

That sounds like a nice task for the Summer of Code too, specially
with the current effort to make Index v4 more visible in Core Git.

I wonder if anybody from JGit would also be interested on mentoring
for the equivalent task (index v4 on JGit). I've CC'ed Shawn Pearce.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014
  2014-02-26 10:41     ` Michael Haggerty
  2014-02-26 11:04       ` Jeff King
@ 2014-02-26 11:25       ` Vicent Martí
  2014-02-26 11:29         ` Jeff King
  2014-02-26 19:48       ` Junio C Hamano
  2 siblings, 1 reply; 20+ messages in thread
From: Vicent Martí @ 2014-02-26 11:25 UTC (permalink / raw)
  To: Michael Haggerty; +Cc: Jeff King, git

On Wed, Feb 26, 2014 at 11:41 AM, Michael Haggerty <mhagger@alum.mit.edu> wrote:
> Since time is short, I already started on this.  I wrote a first draft
> of an introduction for the students.  I also started looking for
> microprojects.  I started going through our source files alphabetically,
> and have already found six suggestions by "bundle.c", so I don't think
> there will be a problem finding enough tiny things to do.

Note that for projects that are either libgit2-centric or mix Core Git
and libgit2, it would be worth it to the students to submit a pull
request on libgit2 (or ideally, on both projects, although that's
going to be hard) in order to make themselves familiar with the code
base.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014
  2014-02-26 11:25       ` Vicent Martí
@ 2014-02-26 11:29         ` Jeff King
  0 siblings, 0 replies; 20+ messages in thread
From: Jeff King @ 2014-02-26 11:29 UTC (permalink / raw)
  To: Vicent Martí; +Cc: Michael Haggerty, git

On Wed, Feb 26, 2014 at 12:25:36PM +0100, Vicent Martí wrote:

> On Wed, Feb 26, 2014 at 11:41 AM, Michael Haggerty <mhagger@alum.mit.edu> wrote:
> > Since time is short, I already started on this.  I wrote a first draft
> > of an introduction for the students.  I also started looking for
> > microprojects.  I started going through our source files alphabetically,
> > and have already found six suggestions by "bundle.c", so I don't think
> > there will be a problem finding enough tiny things to do.
> 
> Note that for projects that are either libgit2-centric or mix Core Git
> and libgit2, it would be worth it to the students to submit a pull
> request on libgit2 (or ideally, on both projects, although that's
> going to be hard) in order to make themselves familiar with the code
> base.

Yeah, that makes sense. I think if students are thinking primarily about
one of the libgit2 projects, they should focus on interacting with that
community. Interacting with the mailing list is good, too, but I don't
see a need to do a patch for both.

Can you come up with a short list of micro-projects for libgit2, similar
to what Michael did for Git?

-Peff

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014
  2014-02-26 11:24   ` Vicent Martí
@ 2014-02-26 11:30     ` Jeff King
  2014-02-26 16:48       ` Shawn Pearce
  0 siblings, 1 reply; 20+ messages in thread
From: Jeff King @ 2014-02-26 11:30 UTC (permalink / raw)
  To: Vicent Martí; +Cc: Duy Nguyen, Git Mailing List, Shawn Pearce

On Wed, Feb 26, 2014 at 12:24:13PM +0100, Vicent Martí wrote:

> > One thing I noticed after tg/index-v4-format is both libgit2 and jgit
> > do not seem to support index v4. So we could add "index v4 support on
> > libgit2" to the idea page. It's a relatively small task though once
> > you get a hang on index format.
> 
> That sounds like a nice task for the Summer of Code too, specially
> with the current effort to make Index v4 more visible in Core Git.

Yeah, I'd agree. Want to write it up?

> I wonder if anybody from JGit would also be interested on mentoring
> for the equivalent task (index v4 on JGit). I've CC'ed Shawn Pearce.

A project that added to both libgit2 and JGit would be cool, but I don't
know if that is asking too much of the student (multiple languages and
projects is going to increase the time spent on non-code friction).

-Peff

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014
  2014-02-26 11:30     ` Jeff King
@ 2014-02-26 16:48       ` Shawn Pearce
  0 siblings, 0 replies; 20+ messages in thread
From: Shawn Pearce @ 2014-02-26 16:48 UTC (permalink / raw)
  To: Jeff King; +Cc: Vicent Martí, Duy Nguyen, Git Mailing List

On Wed, Feb 26, 2014 at 3:30 AM, Jeff King <peff@peff.net> wrote:
> On Wed, Feb 26, 2014 at 12:24:13PM +0100, Vicent Martí wrote:
>
>> > One thing I noticed after tg/index-v4-format is both libgit2 and jgit
>> > do not seem to support index v4. So we could add "index v4 support on
>> > libgit2" to the idea page. It's a relatively small task though once
>> > you get a hang on index format.
>>
>> That sounds like a nice task for the Summer of Code too, specially
>> with the current effort to make Index v4 more visible in Core Git.
>
> Yeah, I'd agree. Want to write it up?
>
>> I wonder if anybody from JGit would also be interested on mentoring
>> for the equivalent task (index v4 on JGit). I've CC'ed Shawn Pearce.
>
> A project that added to both libgit2 and JGit would be cool, but I don't
> know if that is asking too much of the student (multiple languages and
> projects is going to increase the time spent on non-code friction).

I agree, its too much to ask from a single student to add it to both projects.


As far as JGit supporting index v4, I am holding my breath and waiting
for index v5. We keep spinning through dircache versions with
relatively little gain for each one, but a lot of complexity. As it
was a prior version was sort of a disaster with the fixed length
portion of records being either 62 or 64 bytes depending on a bit set
per record. Yuck. I haven't been reading every message in the v4 topic
but nothing impressed me as being worth my time to implement in JGit,
other than to be compatible with a version of git-core that won't land
in Debian stable for at least 2 more years.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014 Suggestion: core.filemode always false for cygwin
  2014-02-25 15:41 Git in GSoC 2014 Jeff King
                   ` (2 preceding siblings ...)
  2014-02-26 11:16 ` Duy Nguyen
@ 2014-02-26 17:15 ` Torsten Bögershausen
  3 siblings, 0 replies; 20+ messages in thread
From: Torsten Bögershausen @ 2014-02-26 17:15 UTC (permalink / raw)
  To: Jeff King, git

On 2014-02-25 16.41, Jeff King wrote:
> I'm pleased to announce that Git has been accepted to this year's Google
> Summer of Code.
I'm not sure if this is the right way to propose mini projects,
but in case the answer is not no, may I suggest one:

Motivation, the problem:
Since commit c28facd216b501d41ca76f 
"cygwin: stop forcing core.filemode=false" 
Git under cygwin initializes repos with core.filemode = true under NTFS

This allows a smooth workflow, when e.g. *.sh files are pushed and pulled between
Cygwin, Linux/Unix or Mac OS.

However when I visit such a repo under Mingw, then Mingw reads core.filemode =true,
but is unable to detect whether the X-bit is set, and reads it as not set.

Therefore "git status" thinks that e.g. all *.sh files have lost the executable
bit, abd reports them as changed.

Proposal:
Under Mingw, keep trust_executable_bit always false, regardless what
core.filemode says.
Activate  NO_TRUSTABLE_FILEMODE in config.mak.uname for Mingw
(currently it is not used to anything)

Keep the logic in init-db.c to initialize core.filemode = false under Mingw 


Language: C
Difficulty: easy

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014
  2014-02-26 10:41     ` Michael Haggerty
  2014-02-26 11:04       ` Jeff King
  2014-02-26 11:25       ` Vicent Martí
@ 2014-02-26 19:48       ` Junio C Hamano
  2014-02-27  7:34         ` Michael Haggerty
  2 siblings, 1 reply; 20+ messages in thread
From: Junio C Hamano @ 2014-02-26 19:48 UTC (permalink / raw)
  To: Michael Haggerty; +Cc: Jeff King, git

Michael Haggerty <mhagger@alum.mit.edu> writes:

> See my branch on GitHub [1] or read the appended text below.

Very nice.

> ## Introduction
>
> It is strongly recommended that students who want to apply to the Git
> project for the Summer of Code 2014 should submit a small code-related
> patch to the Git project as part of their application.  Think of these
> microprojects as the "Hello, world" of getting involved with the Git
> project; the coding aspect of the change can be almost trivial, but to
> make the change the student has to become familiar with many of the
> practical aspects of working on the Git project:

I'd suggest one step before all of the below.  

 * Here (http://thread.gmane.org/{TBD1,TBD2,TBD3...}) are a sample
   set of threads that show how a change and a patch to implement it
   is proposed by a developer X, the problem it attempts to solve,
   the design of the proposed solution and the implementation of
   that design are reviewed and discussed, and that after several
   iterations it resulted in inclusion to our codebase.  As a GSoC
   student, you will be playing the role of X and engaging in a
   similar discussion.  Get familar with the flow, need for clarity
   on both sides (i.e. you need to clearly defend your design, and
   need to ask clarifications when questions/suggestions you are
   offered are not clear enough), the pace at which the discussion
   takes place, and the general tone of the discussion, to learn
   what is expected of you.

That would help the later step, namely:

> * Expect feedback, criticism, suggestions, etc. from the mailing list.
>
>   *Respond to it!* and follow up with improved versions of your
>   change.  Even for a trivial patch you shouldn't be surprised if it
>   takes two or more iterations before your patch is accepted.  *This
>   is the best part of the Git community; it is your chance to get
>   personalized instruction from very experienced peers!*

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014
  2014-02-26 19:48       ` Junio C Hamano
@ 2014-02-27  7:34         ` Michael Haggerty
  2014-02-27 19:19           ` Junio C Hamano
  0 siblings, 1 reply; 20+ messages in thread
From: Michael Haggerty @ 2014-02-27  7:34 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Jeff King, git

On 02/26/2014 08:48 PM, Junio C Hamano wrote:
> Michael Haggerty <mhagger@alum.mit.edu> writes:
> 
>> See my branch on GitHub [1] or read the appended text below.
> 
> Very nice.
> 
>> ## Introduction
>>
>> It is strongly recommended that students who want to apply to the Git
>> project for the Summer of Code 2014 should submit a small code-related
>> patch to the Git project as part of their application.  Think of these
>> microprojects as the "Hello, world" of getting involved with the Git
>> project; the coding aspect of the change can be almost trivial, but to
>> make the change the student has to become familiar with many of the
>> practical aspects of working on the Git project:
> 
> I'd suggest one step before all of the below.  
> 
>  * Here (http://thread.gmane.org/{TBD1,TBD2,TBD3...}) are a sample
>    set of threads that show how a change and a patch to implement it
>    is proposed by a developer X, the problem it attempts to solve,
>    the design of the proposed solution and the implementation of
>    that design are reviewed and discussed, and that after several
>    iterations it resulted in inclusion to our codebase.  As a GSoC
>    student, you will be playing the role of X and engaging in a
>    similar discussion.  Get familar with the flow, need for clarity
>    on both sides (i.e. you need to clearly defend your design, and
>    need to ask clarifications when questions/suggestions you are
>    offered are not clear enough), the pace at which the discussion
>    takes place, and the general tone of the discussion, to learn
>    what is expected of you.
> 
> That would help the later step, namely:
> 
>> * Expect feedback, criticism, suggestions, etc. from the mailing list.
>>
>>   *Respond to it!* and follow up with improved versions of your
>>   change.  Even for a trivial patch you shouldn't be surprised if it
>>   takes two or more iterations before your patch is accepted.  *This
>>   is the best part of the Git community; it is your chance to get
>>   personalized instruction from very experienced peers!*

Sounds good.  I suggest we make your blob a paragraph before the list of
bullet points rather than part of the list.  Please suggest some "TBD*"
then I'll add it to the text.  Would we also fill in "X" with the name
of the actual student involved in the conversation that is pointed to?

Michael

-- 
Michael Haggerty
mhagger@alum.mit.edu
http://softwareswirl.blogspot.com/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014
  2014-02-27  7:34         ` Michael Haggerty
@ 2014-02-27 19:19           ` Junio C Hamano
  2014-02-27 20:26             ` Michael Haggerty
  0 siblings, 1 reply; 20+ messages in thread
From: Junio C Hamano @ 2014-02-27 19:19 UTC (permalink / raw)
  To: Michael Haggerty; +Cc: Jeff King, git

Michael Haggerty <mhagger@alum.mit.edu> writes:

> Sounds good.  I suggest we make your blob a paragraph before the list of
> bullet points rather than part of the list.  Please suggest some "TBD*"
> then I'll add it to the text.  Would we also fill in "X" with the name
> of the actual student involved in the conversation that is pointed to?

I was not thinking about using a student thread (I do not remember
having a good on-list interaction with past GSoC students).

How about using this one from our recent past:

    http://thread.gmane.org/gmane.comp.version-control.git/239068

which has the following good points to be used as an example.  It:

 - involved multiple cycles and multiple reviewers;

 - showed good response to the comments from the original author;
   and most importantly

 - had everything related to the topic in one single neat thread.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014
  2014-02-27 19:19           ` Junio C Hamano
@ 2014-02-27 20:26             ` Michael Haggerty
  2014-02-27 20:32               ` Junio C Hamano
  0 siblings, 1 reply; 20+ messages in thread
From: Michael Haggerty @ 2014-02-27 20:26 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Jeff King, git

On 02/27/2014 08:19 PM, Junio C Hamano wrote:
> Michael Haggerty <mhagger@alum.mit.edu> writes:
> 
>> Sounds good.  I suggest we make your blob a paragraph before the list of
>> bullet points rather than part of the list.  Please suggest some "TBD*"
>> then I'll add it to the text.  Would we also fill in "X" with the name
>> of the actual student involved in the conversation that is pointed to?
> 
> I was not thinking about using a student thread (I do not remember
> having a good on-list interaction with past GSoC students).
> 
> How about using this one from our recent past:
> 
>     http://thread.gmane.org/gmane.comp.version-control.git/239068
> 
> which has the following good points to be used as an example.  It:
> 
>  - involved multiple cycles and multiple reviewers;
> 
>  - showed good response to the comments from the original author;
>    and most importantly
> 
>  - had everything related to the topic in one single neat thread.
> 

Change pushed.  Thanks Junio!

Michael

-- 
Michael Haggerty
mhagger@alum.mit.edu
http://softwareswirl.blogspot.com/

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014
  2014-02-27 20:26             ` Michael Haggerty
@ 2014-02-27 20:32               ` Junio C Hamano
  2014-04-22  1:06                 ` Andrew Ardill
  0 siblings, 1 reply; 20+ messages in thread
From: Junio C Hamano @ 2014-02-27 20:32 UTC (permalink / raw)
  To: Michael Haggerty; +Cc: Jeff King, git

Michael Haggerty <mhagger@alum.mit.edu> writes:

> On 02/27/2014 08:19 PM, Junio C Hamano wrote:
>> Michael Haggerty <mhagger@alum.mit.edu> writes:
>> 
>>> Sounds good.  I suggest we make your blob a paragraph before the list of
>>> bullet points rather than part of the list.  Please suggest some "TBD*"
>>> then I'll add it to the text.  Would we also fill in "X" with the name
>>> of the actual student involved in the conversation that is pointed to?
>> 
>> I was not thinking about using a student thread (I do not remember
>> having a good on-list interaction with past GSoC students).
>> 
>> How about using this one from our recent past:
>> 
>>     http://thread.gmane.org/gmane.comp.version-control.git/239068
>> 
>> which has the following good points to be used as an example.  It:
>> 
>>  - involved multiple cycles and multiple reviewers;
>> 
>>  - showed good response to the comments from the original author;
>>    and most importantly
>> 
>>  - had everything related to the topic in one single neat thread.
>> 
>
> Change pushed.  Thanks Junio!

Thank you for starting this.

Another point to add to the above three-point list is that it had an
example of the original author defending (some of) the design
choices he made and reviewers who initially raised questions and/or
issues agreeing with that choice after the thinking was clearly
explained.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014
  2014-02-27 20:32               ` Junio C Hamano
@ 2014-04-22  1:06                 ` Andrew Ardill
  2014-04-22  2:18                   ` Brian Gesiak
  0 siblings, 1 reply; 20+ messages in thread
From: Andrew Ardill @ 2014-04-22  1:06 UTC (permalink / raw)
  To: git

Congrats everyone who was successful in being picked for this year's GSoC.

Fabian with "Line options for git rebase --interactive" [0]
Brian Gesiak with "Unify and Refactor Temporary File Handling" [1]
Tanay Abhra with "Git configuration API improvements" [2]

I look forward to seeing how you go!

[0] https://www.google-melange.com/gsoc/project/details/google/gsoc2014/bafain/5750085036015616
[1] https://www.google-melange.com/gsoc/project/details/google/gsoc2014/modocache/5639274879778816
[2] https://www.google-melange.com/gsoc/project/details/google/gsoc2014/tanayabh/5766466041282560

Regards,

Andrew Ardill

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: Git in GSoC 2014
  2014-04-22  1:06                 ` Andrew Ardill
@ 2014-04-22  2:18                   ` Brian Gesiak
  0 siblings, 0 replies; 20+ messages in thread
From: Brian Gesiak @ 2014-04-22  2:18 UTC (permalink / raw)
  To: Andrew Ardill; +Cc: git

Thank you!

I'm very excited to be participating in this year's GSoC. Google
recommends that students use the next few weeks to get to know their
mentors, read documentation, and get up to speed to begin working on
their projects. Students have also received instructions on submitting
tax forms and other paperwork.

Aside from filing all the requisite paperwork, I plan on reading
through the extensive set of patches on lock files Michael Haggerty
submitted after my initial proposal. I also plan on consulting with my
mentor, Jeff King, on some good first steps.

By the way, my name is Brian Gesiak. I'm a research student at the
University of Tokyo, specializing in parallel and distributed
computing. If you have any questions regarding my project, "Unify and
Refactor Temporary File Handling", please feel free to contact me via
this mailing list, or privately via email. I'm also on GitHub[1] and
Twitter[2].

[1] https://github.com/modocache
[2] https://twitter.com/modocache

- Brian Gesiak

On Tue, Apr 22, 2014 at 10:06 AM, Andrew Ardill <andrew.ardill@gmail.com> wrote:
> Congrats everyone who was successful in being picked for this year's GSoC.
>
> Fabian with "Line options for git rebase --interactive" [0]
> Brian Gesiak with "Unify and Refactor Temporary File Handling" [1]
> Tanay Abhra with "Git configuration API improvements" [2]
>
> I look forward to seeing how you go!
>
> [0] https://www.google-melange.com/gsoc/project/details/google/gsoc2014/bafain/5750085036015616
> [1] https://www.google-melange.com/gsoc/project/details/google/gsoc2014/modocache/5639274879778816
> [2] https://www.google-melange.com/gsoc/project/details/google/gsoc2014/tanayabh/5766466041282560
>
> Regards,
>
> Andrew Ardill
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2014-04-22  2:19 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-25 15:41 Git in GSoC 2014 Jeff King
2014-02-25 16:42 ` Dmitry S. Dolzhenko
2014-02-25 17:15 ` Michael Haggerty
2014-02-26 10:23   ` Jeff King
2014-02-26 10:41     ` Michael Haggerty
2014-02-26 11:04       ` Jeff King
2014-02-26 11:25       ` Vicent Martí
2014-02-26 11:29         ` Jeff King
2014-02-26 19:48       ` Junio C Hamano
2014-02-27  7:34         ` Michael Haggerty
2014-02-27 19:19           ` Junio C Hamano
2014-02-27 20:26             ` Michael Haggerty
2014-02-27 20:32               ` Junio C Hamano
2014-04-22  1:06                 ` Andrew Ardill
2014-04-22  2:18                   ` Brian Gesiak
2014-02-26 11:16 ` Duy Nguyen
2014-02-26 11:24   ` Vicent Martí
2014-02-26 11:30     ` Jeff King
2014-02-26 16:48       ` Shawn Pearce
2014-02-26 17:15 ` Git in GSoC 2014 Suggestion: core.filemode always false for cygwin Torsten Bögershausen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.