{"thread":{"id":"49508","subject":"[PATCH][Outreachy] remove all the inclusions of git-compat-util.h in header files","startedAt":"2018-10-08T17:05:13Z","lastAt":"2018-10-10T12:22:48Z","messageCount":8,"participants":["Ananya Krishna Maram","Derrick Stolee","Junio C Hamano","Johannes Schindelin","Christian Couder"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"359838","messageId":"20181008170505.GA13134@manohar-ssh","threadId":"49508","inReplyTo":null,"subject":"[PATCH][Outreachy] remove all the inclusions of git-compat-util.h in header files","fromName":"Ananya Krishna Maram","fromEmail":"ananyakittu1997@gmail.com","sentAt":"2018-10-08T17:05:05Z","receivedAt":"2018-10-08T17:05:13Z","isPatch":true,"sender":{"key":"ananyakittu1997@gmail.com","avatar":null},"body":"Hi All, \nI was searching through #leftovers and found this.\nhttps://public-inbox.org/git/CABPp-BGVVXcbZX44er6TO-PUsfEN_6GNYJ1U5cuoN9deaA48OQ@mail.gmail.com/\n\nThis patch address the task discussed in the above link. \n\nFrom: Ananya Krishan Maram <ananyakittu1997@gmail.com>\n\nskip the #include of git-compat-util.h since all .c files include it.\n\nSigned-off-by: Ananya Krishna Maram <ananyakittu1997@gmail.com>\n---\n advice.h             | 1 -\n commit-graph.h       | 1 -\n hash.h               | 1 -\n pkt-line.h           | 1 -\n t/helper/test-tool.h | 1 -\n 5 files changed, 5 deletions(-)\n\ndiff --git a/advice.h b/advice.h\nindex ab24df0fd..09148baa6 100644\n--- a/advice.h\n+++ b/advice.h\n@@ -1,7 +1,6 @@\n #ifndef ADVICE_H\n #define ADVICE_H\n \n-#include \"git-compat-util.h\"\n \n extern int advice_push_update_rejected;\n extern int advice_push_non_ff_current;\ndiff --git a/commit-graph.h b/commit-graph.h\nindex b05047676..0e93c2bed 100644\n--- a/commit-graph.h\n+++ b/commit-graph.h\n@@ -1,7 +1,6 @@\n #ifndef COMMIT_GRAPH_H\n #define COMMIT_GRAPH_H\n \n-#include \"git-compat-util.h\"\n #include \"repository.h\"\n #include \"string-list.h\"\n #include \"cache.h\"\ndiff --git a/hash.h b/hash.h\nindex 7c8238bc2..9a4334c5d 100644\n--- a/hash.h\n+++ b/hash.h\n@@ -1,7 +1,6 @@\n #ifndef HASH_H\n #define HASH_H\n \n-#include \"git-compat-util.h\"\n \n #if defined(SHA1_PPC)\n #include \"ppc/sha1.h\"\ndiff --git a/pkt-line.h b/pkt-line.h\nindex 5b28d4347..fdd316494 100644\n--- a/pkt-line.h\n+++ b/pkt-line.h\n@@ -1,7 +1,6 @@\n #ifndef PKTLINE_H\n #define PKTLINE_H\n \n-#include \"git-compat-util.h\"\n #include \"strbuf.h\"\n \n /*\ndiff --git a/t/helper/test-tool.h b/t/helper/test-tool.h\nindex e07495727..24e0a1589 100644\n--- a/t/helper/test-tool.h\n+++ b/t/helper/test-tool.h\n@@ -1,7 +1,6 @@\n #ifndef __TEST_TOOL_H__\n #define __TEST_TOOL_H__\n \n-#include \"git-compat-util.h\"\n \n int cmd__chmtime(int argc, const char **argv);\n int cmd__config(int argc, const char **argv);\n-- \n2.19.0.272.ga00e0029e\n\n"},{"id":"359839","messageId":"b1824db3-1c0d-6851-2f5a-800cc88ee50f@gmail.com","threadId":"49508","inReplyTo":"20181008170505.GA13134@manohar-ssh","subject":"Re: [PATCH][Outreachy] remove all the inclusions of git-compat-util.h in header files","fromName":"Derrick Stolee","fromEmail":"stolee@gmail.com","sentAt":"2018-10-08T17:13:26Z","receivedAt":"2018-10-08T17:13:29Z","isPatch":true,"sender":{"key":"stolee@gmail.com","avatar":"https://avatars.githubusercontent.com/u/570044?v=4"},"body":"On 10/8/2018 1:05 PM, Ananya Krishna Maram wrote:\n> Hi All,\nHello, Ananya! Welcome.\n\n> I was searching through #leftovers and found this.\n> https://public-inbox.org/git/CABPp-BGVVXcbZX44er6TO-PUsfEN_6GNYJ1U5cuoN9deaA48OQ@mail.gmail.com/\n>\n> This patch address the task discussed in the above link.\nThe discussion above seems to not be intended for your commit message, \nbut it does show up when I run `git am` and provide your email as input. \nThe typical way to avoid this is to place all commentary below the \"---\" \nthat signifies the commit message is over.\n> From: Ananya Krishan Maram <ananyakittu1997@gmail.com>\n>\n> skip the #include of git-compat-util.h since all .c files include it.\n>\n> Signed-off-by: Ananya Krishna Maram <ananyakittu1997@gmail.com>\n> ---\n>   advice.h             | 1 -\n>   commit-graph.h       | 1 -\n>   hash.h               | 1 -\n>   pkt-line.h           | 1 -\n>   t/helper/test-tool.h | 1 -\n>   5 files changed, 5 deletions(-)\n>\n> diff --git a/advice.h b/advice.h\n> index ab24df0fd..09148baa6 100644\n> --- a/advice.h\n> +++ b/advice.h\n> @@ -1,7 +1,6 @@\n>   #ifndef ADVICE_H\n>   #define ADVICE_H\n>   \n> -#include \"git-compat-util.h\"\n>   \n>   extern int advice_push_update_rejected;\n>   extern int advice_push_non_ff_current;\n> diff --git a/commit-graph.h b/commit-graph.h\n> index b05047676..0e93c2bed 100644\n> --- a/commit-graph.h\n> +++ b/commit-graph.h\n> @@ -1,7 +1,6 @@\n>   #ifndef COMMIT_GRAPH_H\n>   #define COMMIT_GRAPH_H\n>   \n> -#include \"git-compat-util.h\"\n>   #include \"repository.h\"\n>   #include \"string-list.h\"\n>   #include \"cache.h\"\n> diff --git a/hash.h b/hash.h\n> index 7c8238bc2..9a4334c5d 100644\n> --- a/hash.h\n> +++ b/hash.h\n> @@ -1,7 +1,6 @@\n>   #ifndef HASH_H\n>   #define HASH_H\n>   \n> -#include \"git-compat-util.h\"\n>   \n>   #if defined(SHA1_PPC)\n>   #include \"ppc/sha1.h\"\n> diff --git a/pkt-line.h b/pkt-line.h\n> index 5b28d4347..fdd316494 100644\n> --- a/pkt-line.h\n> +++ b/pkt-line.h\n> @@ -1,7 +1,6 @@\n>   #ifndef PKTLINE_H\n>   #define PKTLINE_H\n>   \n> -#include \"git-compat-util.h\"\n>   #include \"strbuf.h\"\n>   \n>   /*\n> diff --git a/t/helper/test-tool.h b/t/helper/test-tool.h\n> index e07495727..24e0a1589 100644\n> --- a/t/helper/test-tool.h\n> +++ b/t/helper/test-tool.h\n> @@ -1,7 +1,6 @@\n>   #ifndef __TEST_TOOL_H__\n>   #define __TEST_TOOL_H__\n>   \n> -#include \"git-compat-util.h\"\n>   \n>   int cmd__chmtime(int argc, const char **argv);\n>   int cmd__config(int argc, const char **argv);\nI applied these changes locally and confirmed the code compiles, so all \n.c files including these _do_ include git-compat-util.h properly.\n\nThanks,\n-Stolee\n\n"},{"id":"359888","messageId":"CA+=o6KHNyj2FymzGEwt6=tTHF=Eqy=OPz_Z1KD+Ryi6kdFemJQ@mail.gmail.com","threadId":"49508","inReplyTo":"b1824db3-1c0d-6851-2f5a-800cc88ee50f@gmail.com","subject":"Re: [PATCH][Outreachy] remove all the inclusions of git-compat-util.h in header files","fromName":"Ananya Krishna Maram","fromEmail":"ananyakittu1997@gmail.com","sentAt":"2018-10-09T02:16:05Z","receivedAt":"2018-10-09T02:16:21Z","isPatch":true,"sender":{"key":"ananyakittu1997@gmail.com","avatar":null},"body":"On Mon, 8 Oct 2018 at 22:43, Derrick Stolee <stolee@gmail.com> wrote:\n>\n> On 10/8/2018 1:05 PM, Ananya Krishna Maram wrote:\n> > Hi All,\n> Hello, Ananya! Welcome.\n>\n> > I was searching through #leftovers and found this.\n> > https://public-inbox.org/git/CABPp-BGVVXcbZX44er6TO-PUsfEN_6GNYJ1U5cuoN9deaA48OQ@mail.gmail.com/\n> >\n> > This patch address the task discussed in the above link.\n> The discussion above seems to not be intended for your commit message,\n> but it does show up when I run `git am` and provide your email as input.\n> The typical way to avoid this is to place all commentary below the \"---\"\n\nSorry, I didn't know that. Shall I re submit the patch with proper commentary.\n\n> that signifies the commit message is over.\n> > From: Ananya Krishan Maram <ananyakittu1997@gmail.com>\n> >\n> > skip the #include of git-compat-util.h since all .c files include it.\n> >\n> > Signed-off-by: Ananya Krishna Maram <ananyakittu1997@gmail.com>\n> > ---\n> >   advice.h             | 1 -\n> >   commit-graph.h       | 1 -\n> >   hash.h               | 1 -\n> >   pkt-line.h           | 1 -\n> >   t/helper/test-tool.h | 1 -\n> >   5 files changed, 5 deletions(-)\n> >\n> > diff --git a/advice.h b/advice.h\n> > index ab24df0fd..09148baa6 100644\n> > --- a/advice.h\n> > +++ b/advice.h\n> > @@ -1,7 +1,6 @@\n> >   #ifndef ADVICE_H\n> >   #define ADVICE_H\n> >\n> > -#include \"git-compat-util.h\"\n> >\n> >   extern int advice_push_update_rejected;\n> >   extern int advice_push_non_ff_current;\n> > diff --git a/commit-graph.h b/commit-graph.h\n> > index b05047676..0e93c2bed 100644\n> > --- a/commit-graph.h\n> > +++ b/commit-graph.h\n> > @@ -1,7 +1,6 @@\n> >   #ifndef COMMIT_GRAPH_H\n> >   #define COMMIT_GRAPH_H\n> >\n> > -#include \"git-compat-util.h\"\n> >   #include \"repository.h\"\n> >   #include \"string-list.h\"\n> >   #include \"cache.h\"\n> > diff --git a/hash.h b/hash.h\n> > index 7c8238bc2..9a4334c5d 100644\n> > --- a/hash.h\n> > +++ b/hash.h\n> > @@ -1,7 +1,6 @@\n> >   #ifndef HASH_H\n> >   #define HASH_H\n> >\n> > -#include \"git-compat-util.h\"\n> >\n> >   #if defined(SHA1_PPC)\n> >   #include \"ppc/sha1.h\"\n> > diff --git a/pkt-line.h b/pkt-line.h\n> > index 5b28d4347..fdd316494 100644\n> > --- a/pkt-line.h\n> > +++ b/pkt-line.h\n> > @@ -1,7 +1,6 @@\n> >   #ifndef PKTLINE_H\n> >   #define PKTLINE_H\n> >\n> > -#include \"git-compat-util.h\"\n> >   #include \"strbuf.h\"\n> >\n> >   /*\n> > diff --git a/t/helper/test-tool.h b/t/helper/test-tool.h\n> > index e07495727..24e0a1589 100644\n> > --- a/t/helper/test-tool.h\n> > +++ b/t/helper/test-tool.h\n> > @@ -1,7 +1,6 @@\n> >   #ifndef __TEST_TOOL_H__\n> >   #define __TEST_TOOL_H__\n> >\n> > -#include \"git-compat-util.h\"\n> >\n> >   int cmd__chmtime(int argc, const char **argv);\n> >   int cmd__config(int argc, const char **argv);\n> I applied these changes locally and confirmed the code compiles, so all\n> .c files including these _do_ include git-compat-util.h properly.\n>\n> Thanks,\n> -Stolee\n>\n"},{"id":"359914","messageId":"xmqqd0sjpgw1.fsf@gitster-ct.c.googlers.com","threadId":"49508","inReplyTo":"b1824db3-1c0d-6851-2f5a-800cc88ee50f@gmail.com","subject":"Re: [PATCH][Outreachy] remove all the inclusions of git-compat-util.h in header files","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-10-09T10:13:18Z","receivedAt":"2018-10-09T10:13:24Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Derrick Stolee <stolee@gmail.com> writes:\n\n> On 10/8/2018 1:05 PM, Ananya Krishna Maram wrote:\n>> Hi All,\n> Hello, Ananya! Welcome.\n>\n>> I was searching through #leftovers and found this.\n>> https://public-inbox.org/git/CABPp-BGVVXcbZX44er6TO-PUsfEN_6GNYJ1U5cuoN9deaA48OQ@mail.gmail.com/\n>>\n>> This patch address the task discussed in the above link.\n> The discussion above seems to not be intended for your commit message,\n> but it does show up when I run `git am` and provide your email as\n> input. The typical way to avoid this is to place all commentary below\n> the \"---\" \n> that signifies the commit message is over.\n\n>> From: Ananya Krishan Maram <ananyakittu1997@gmail.com>\n>>\n>> skip the #include of git-compat-util.h since all .c files include it.\n>>\n>> Signed-off-by: Ananya Krishna Maram <ananyakittu1997@gmail.com>\n>> ---\n>>   advice.h             | 1 -\n>>   commit-graph.h       | 1 -\n>>   hash.h               | 1 -\n>>   pkt-line.h           | 1 -\n>>   t/helper/test-tool.h | 1 -\n>>   5 files changed, 5 deletions(-)\n>>\n>> diff --git a/advice.h b/advice.h\n>> index ab24df0fd..09148baa6 100644\n>> --- a/advice.h\n>> +++ b/advice.h\n>> @@ -1,7 +1,6 @@\n>>   #ifndef ADVICE_H\n>>   #define ADVICE_H\n>>   -#include \"git-compat-util.h\"\n>>     extern int advice_push_update_rejected;\n>>   extern int advice_push_non_ff_current;\n\nThe way I read the original discussion is \"C source that includes\ncompat-util.h shouldn't if it already includes cache.h\"; advice.h is\nnot C and does not (should not) include cache.h.\n\nThe \"left over bits\" should not be blindly trusted, and besides,\nElijah punted to examine and think about each case and left it to\nothers, so whoever is picking it up should do the thinking, not a\nblind conversion.  I am not getting a feeling that this patch was\ndone with careful thinking after checking only this one.\n\n"},{"id":"359982","messageId":"nycvar.QRO.7.76.6.1810100856570.2034@tvgsbejvaqbjf.bet","threadId":"49508","inReplyTo":"xmqqd0sjpgw1.fsf@gitster-ct.c.googlers.com","subject":"Re: [PATCH][Outreachy] remove all the inclusions of git-compat-util.h in header files","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2018-10-10T08:06:50Z","receivedAt":"2018-10-10T08:06:57Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Junio & Ananya,\n\nAnanya, I think you did a really good job at contributing your first\npatch, demonstrated by the useful comments you already received.\n\nOn Tue, 9 Oct 2018, Junio C Hamano wrote:\n\n> Derrick Stolee <stolee@gmail.com> writes:\n> \n> > On 10/8/2018 1:05 PM, Ananya Krishna Maram wrote:\n> >> Hi All,\n> > Hello, Ananya! Welcome.\n> >\n> >> I was searching through #leftovers and found this.\n> >> https://public-inbox.org/git/CABPp-BGVVXcbZX44er6TO-PUsfEN_6GNYJ1U5cuoN9deaA48OQ@mail.gmail.com/\n> >>\n> >> This patch address the task discussed in the above link.\n> > The discussion above seems to not be intended for your commit message,\n> > but it does show up when I run `git am` and provide your email as\n> > input. The typical way to avoid this is to place all commentary below\n> > the \"---\" \n> > that signifies the commit message is over.\n> \n> >> From: Ananya Krishan Maram <ananyakittu1997@gmail.com>\n> >>\n> >> skip the #include of git-compat-util.h since all .c files include it.\n> >>\n> >> Signed-off-by: Ananya Krishna Maram <ananyakittu1997@gmail.com>\n> >> ---\n> >>   advice.h             | 1 -\n> >>   commit-graph.h       | 1 -\n> >>   hash.h               | 1 -\n> >>   pkt-line.h           | 1 -\n> >>   t/helper/test-tool.h | 1 -\n> >>   5 files changed, 5 deletions(-)\n> >>\n> >> diff --git a/advice.h b/advice.h\n> >> index ab24df0fd..09148baa6 100644\n> >> --- a/advice.h\n> >> +++ b/advice.h\n> >> @@ -1,7 +1,6 @@\n> >>   #ifndef ADVICE_H\n> >>   #define ADVICE_H\n> >>   -#include \"git-compat-util.h\"\n> >>     extern int advice_push_update_rejected;\n> >>   extern int advice_push_non_ff_current;\n> \n> The way I read the original discussion is \"C source that includes\n> compat-util.h shouldn't if it already includes cache.h\"; advice.h is\n> not C and does not (should not) include cache.h.\n> \n> The \"left over bits\" should not be blindly trusted, and besides,\n> Elijah punted to examine and think about each case and left it to\n> others, so whoever is picking it up should do the thinking, not a\n> blind conversion.  I am not getting a feeling that this patch was\n> done with careful thinking after checking only this one.\n\nThe mistake -- if any! -- is mine: I suggested to Outreachy students to\nlook for the #leftoverbits needle in our mail archive haystack, and to\npick something to get a feel for contributing to Git.\n\nPersonally, I find the \"whoever is picking it up should do the thinking\"\nmuch too harsh for a first-time contributor who specifically came through\nthe Outreachy program, i.e. expected to have a gentle introduction into\nthe project, and into the ways we work.\n\nGranted, that introduction should have been performed by the potential\nmentors (i.e. Chris & I, but I was out sick), but let's face it: we are an\nopen source project, so every single one of us should feel the call to be\na mentor, and we should certainly try to make every new contributor as\nwelcome as we would like to be invited into a new project.\n\nIn this context, I would think that the \"do the thinking\" part is\nparticularly hard because our rules are implicit, and inconsistent: when\ndo we include header files, when do we skip the include?\n\nIf in doubt, follow the age-old wisdom \"when in Rome, do as the Romans\ndo\", i.e. ignore the explicitly written-down rules, and instead imitate\nwhat active contributors are doing.\n\nUnfortunately, I have no easy way to suggest for mining the mailing list\nfor sentiments about including header files. And in any case, it would\nprobably boil down on personal taste, which -- let's face it -- is rather\ndiverse in our community... :-)\n\nSo in this case, what I would suggest is to look instead for the commit\nhistory, where header files were added or modified. The Git command for\nthat is:\n\n\tgit log --no-merges -p \\*.h\n\nApart from the rather wonderful examples you see there for commit messages\n(I am a big fan of commit messages that are clear and descriptive, i.e.\nstart by detailing the why rather than the how, with notes thrown in about\ndesign decisions that are not obvious from the patch), this command will\nlead us pretty soon to this commit, especially when looking for the search\nterm #include:\n\n\thttps://github.com/git/git/commit/69d846f05381\n\nIn other words, we explicitly introduced an `#include \"git-compat-util.h\"`\nin a header there.\n\nThe commit message also offers a pretty compelling rationale: it was the\nmost efficient way to have that header included *first thing* in all test\nhelpers.\n\nFollowing that rationale, let's have a look at the patch we are improving\nhere (because that's what code review really should all be about:\nimproving the code, putting together all of our expertise to get the best\npatch we can in a reasonable amount of time):\n\nThe first thing we can already say is that the change to\nt/helper/test-tool.h would revert the commit referenced above, so I think\nwe should drop that change.\n\nNext, I want to have a look at advice.h:\n\n\tgit grep -O 'advice\\.h'\n\n(the backslash is necessary because this is a regular expression, and the\nperiod character has the special meaning \"any character\" there, unless\nescaped by a backslash)\n\nWhat we can see is that indeed, every file that includes this header\nalready includes cache.h first. We can even see that cache.h *itself*\nincludes advice.h, meaning that we could add another patch that drops the\nadvice.h include from, say, commit.c.\n\nAt this point, this seems to become a rabbit hole: which header files are\nalready included in cache.h that are *also* included (unnecessarily) in .c\nfiles that *already* included cache.h?\n\nAnanya, it is now up to you how far you want to go down that rabbit hole\n;-)\n\nIf I had the time, *I* would now be tempted to try my hand at writing a\nscript that analyzes our source code to ensure that:\n\n- \"cache.h\" or \"git-compat-util.h\" is the first header included (as per\n  that commit message of the commit mentioned above)\n- every header that is already included in cache.h is not included by a .c\n  file that already included cache.h\n\nIt is the kind of side-track I could lose days over, but I have to admit\nthat the benefit would probably not merit the effort ;-)\n\nIn any case, I am delighted by your first patch: you took the first hurdle\n:-)\n\nCiao,\nJohannes\n\nP.S.: Please record your contribution on the Outreachy site, unless you\nalready did...\n"},{"id":"359984","messageId":"xmqq4ldumbo1.fsf@gitster-ct.c.googlers.com","threadId":"49508","inReplyTo":"nycvar.QRO.7.76.6.1810100856570.2034@tvgsbejvaqbjf.bet","subject":"Re: [PATCH][Outreachy] remove all the inclusions of git-compat-util.h in header files","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-10-10T08:46:38Z","receivedAt":"2018-10-10T08:46:44Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> Personally, I find the \"whoever is picking it up should do the thinking\"\n> much too harsh for a first-time contributor who specifically came through\n> the Outreachy program, i.e. expected to have a gentle introduction into\n> the project, and into the ways we work.\n\nOh, absolutely I agree.\n\nAny random discussion participant can say \"left over bits\" in any\nrandom message with an idea that is left on the table.  Looking for\nit may narrow the set messages to be examined, but the query result\nwill inevitably be still full of chaff.  It is not a very good match\nfor \"gentle introduction\" material for GSoC/Outreachy microprojects.\n\nList of reasonable low-hanging fruits is hard to maintain, as the\ncost of building and maintaining such a list would easily outweigh\nthe cost (and fun) of picking these low-hanging fruits yourself X-<.\n\nI do not think of a good solution to help newcomers offhand.\n\nThanks, as always, for trying to be helpful to newcomers.\n\n"},{"id":"359989","messageId":"CAP8UFD1_CH-OGytqcLya0GdFAM3=TLpgwiXQCO__9GSR6SXe_Q@mail.gmail.com","threadId":"49508","inReplyTo":"xmqq4ldumbo1.fsf@gitster-ct.c.googlers.com","subject":"Re: [PATCH][Outreachy] remove all the inclusions of git-compat-util.h in header files","fromName":"Christian Couder","fromEmail":"christian.couder@gmail.com","sentAt":"2018-10-10T09:13:46Z","receivedAt":"2018-10-10T09:14:01Z","isPatch":true,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"On Wed, Oct 10, 2018 at 10:46 AM Junio C Hamano <gitster@pobox.com> wrote:\n>\n> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n>\n> > Personally, I find the \"whoever is picking it up should do the thinking\"\n> > much too harsh for a first-time contributor who specifically came through\n> > the Outreachy program, i.e. expected to have a gentle introduction into\n> > the project, and into the ways we work.\n>\n> Oh, absolutely I agree.\n>\n> Any random discussion participant can say \"left over bits\" in any\n> random message with an idea that is left on the table.  Looking for\n> it may narrow the set messages to be examined, but the query result\n> will inevitably be still full of chaff.  It is not a very good match\n> for \"gentle introduction\" material for GSoC/Outreachy microprojects.\n>\n> List of reasonable low-hanging fruits is hard to maintain, as the\n> cost of building and maintaining such a list would easily outweigh\n> the cost (and fun) of picking these low-hanging fruits yourself X-<.\n>\n> I do not think of a good solution to help newcomers offhand.\n\nIn the \"How to find other ideas for microprojects\" on\nhttps://git.github.io/SoC-2018-Microprojects/ there is already the\nfollowing:\n\n\"When you find something you are interested to work on, please ask\nfirst on the mailing list if it’s worth doing and if it’s appropriate\nfor a microproject before starting to work on what you find. Even if\nit looks straightforward, there could be hidden reasons why it is too\ndifficult or just inappropriate.\"\n\nSo I think one solution to this problem is already proposed on our web site.\n"},{"id":"360011","messageId":"xmqqva6akn3h.fsf@gitster-ct.c.googlers.com","threadId":"49508","inReplyTo":"CAP8UFD1_CH-OGytqcLya0GdFAM3=TLpgwiXQCO__9GSR6SXe_Q@mail.gmail.com","subject":"Re: [PATCH][Outreachy] remove all the inclusions of git-compat-util.h in header files","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-10-10T12:22:42Z","receivedAt":"2018-10-10T12:22:48Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Christian Couder <christian.couder@gmail.com> writes:\n\n> So I think one solution to this problem is already proposed on our web site.\n\nOK, that's a good start.  The next step is to make those who are\ninvolved in these education programs to be more aware of it ;-)\n"}]}