Skip to content

Commit 08c7a85

Browse files
committed
Add a reference to a "typical" email thread
Add a reference to an email thread showing a typical sequence of interactions between a developer and the mailing list, and some text explaining what the student should expect. The idea for this change and most of the text are from Junio Hamano <gitster@pobox.com>.
1 parent e71056a commit 08c7a85

File tree

1 file changed

+31
-11
lines changed

1 file changed

+31
-11
lines changed

SoC-2014-Microprojects.md

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,28 @@ to the Git project as part of their application. Think of these
1111
microprojects as the "Hello, world" of getting involved with the Git
1212
project; the coding aspect of the change can be almost trivial, but to
1313
make the change the student has to become familiar with many of the
14-
practical aspects of working on the Git project:
15-
16-
* Downloading the source code: clone the repository using the
17-
[Git via Git](http://git-scm.com/downloads) instructions and read
18-
the `README` file.
14+
practical aspects of working on the Git project.
15+
16+
Consider [a sample email
17+
thread](http://thread.gmane.org/gmane.comp.version-control.git/239068),
18+
which shows how a developer proposed a change and a patch to implement
19+
it. The problem being solved, the design of the proposed solution,
20+
and the implementation of that design were all reviewed and discussed,
21+
and after several iterations an improved version of the patch was
22+
accepted into our codebase. As a GSoC student, you will be playing
23+
the role of the developer and engaging in a similar discussion. Get
24+
familar with the flow, need for clarity on both sides (i.e. you need
25+
to clearly defend your design, and need to ask clarifications when
26+
questions/suggestions you are offered are not clear enough), the pace
27+
at which the discussion takes place, and the general tone of the
28+
discussion, to learn what is expected of you.
29+
30+
To complete a microproject, you will have to go through approximately
31+
the following steps:
32+
33+
* Download the source code: clone the repository using the [Git via
34+
Git](http://git-scm.com/downloads) instructions and read the
35+
`README` file.
1936

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

@@ -26,12 +43,13 @@ practical aspects of working on the Git project:
2643
* Read about the process for submitting patches to Git: this is
2744
described in `Documentation/SubmittingPatches`.
2845

29-
* **Making the actual change.** (Funny, this is the only part they
30-
teach you about in college.)
46+
* **Make the actual change.** (Funny, this is the only part they teach
47+
you about in college.)
3148

32-
* Run the test suite: this is described in the file `t/README`. (If
33-
you have added new functionality, you should also add tests, but
34-
most microprojects will not add new functionality.)
49+
* Run the test suite and make sure it passes 100%: this is described
50+
in the file `t/README`. (If you have added new functionality, you
51+
should also add new tests, but most microprojects will not add new
52+
functionality.)
3553

3654
* Commit your change. Surprise: we use Git for that, so you will need
3755
to gain at least
@@ -44,7 +62,9 @@ practical aspects of working on the Git project:
4462

4563
* Submit your change to the Git mailing list. For this step you
4664
probably want to use the commands `git format-patch` and `git
47-
send-email`.
65+
send-email`. Make sure that your email is formatted correctly: send
66+
a test version of the email to yourself and see if you can apply it
67+
to your repository using `git am`.
4868

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

0 commit comments

Comments
 (0)