Re: [PATCH] Documentation/fetch-options: emit recurse-submodules, jobs unconditionally
> > By the way, 7dce19d3 is interesting in another way and worth > > studying in that it adds --submodule-prefix ;-) It may be something > > we want to consider consolidating with what Brandon has been working > > on. > > That's why Brandon is cc'd now. :) Interesting. Once we get something we agree on for adding the --submodule-prefix option to the top level we'll definitely have to update this section of code with the change. -- Brandon Williams
Re: [PATCH] Documentation/fetch-options: emit recurse-submodules, jobs unconditionally
On Mon, Sep 26, 2016 at 1:54 PM, Junio C Hamano wrote: > Stefan Beller writes: > >> After a bit more research, I think 8f0700dd33f (fetch/pull: Add the >> 'on-demand' value to the --recurse-submodules option) is the culprit, >> where this patch should have been squashed into, as that made the >> both locations word for word equal. > > Hmph, my digging points to elsewhere. 7811d960 ("pull: Document the > "--[no-]recurse-submodules" options", 2011-02-07) That commit seems like it want to intentionally keep it different for fetch and pull (otherwise the fetch-options.txt would have been reworded there). Rereading the actual option descriptions, I realize they are different. (Initially I used a diff tool to see if there is aminor difference, and I was surprised they were word for word identical; It must have been a mistake on copying one of the option texts) The git-pull part actually conveys pull specific information, so let's drop this patch entirely. > which is older > than 8f0700dd ("fetch/pull: Add the 'on-demand' value to the > --recurse-submodules option", 2011-03-06) seems to be the real > change that pulled the description of recurse-submodules made in > fetch-options into "show this only when we are not describing pull". > > Unfortunately it is not clear why we actively wanted to be sketchier > when showing "git help fetch"; otherwise the change would have been > made to the existing description there without adding a new entry to > "git-pull.txt". >
Re: [PATCH] Documentation/fetch-options: emit recurse-submodules, jobs unconditionally
Stefan Beller writes: > After a bit more research, I think 8f0700dd33f (fetch/pull: Add the > 'on-demand' value to the --recurse-submodules option) is the culprit, > where this patch should have been squashed into, as that made the > both locations word for word equal. Hmph, my digging points to elsewhere. 7811d960 ("pull: Document the "--[no-]recurse-submodules" options", 2011-02-07) which is older than 8f0700dd ("fetch/pull: Add the 'on-demand' value to the --recurse-submodules option", 2011-03-06) seems to be the real change that pulled the description of recurse-submodules made in fetch-options into "show this only when we are not describing pull". Unfortunately it is not clear why we actively wanted to be sketchier when showing "git help fetch"; otherwise the change would have been made to the existing description there without adding a new entry to "git-pull.txt".
Re: [PATCH] Documentation/fetch-options: emit recurse-submodules, jobs unconditionally
On Mon, Sep 26, 2016 at 1:29 PM, Junio C Hamano wrote: > Stefan Beller writes: > >> Currently the section about recursing into submodules is repeated in >> git-pull word for word as it is in fetch-options. >> >> Don't repeat ourselves here and include the --recurse-submodules via >> fetch options. >> >> As a bonus expose the --jobs parameter in git-pull as well as that is >> declared as a OPT_PASSTHRU for fetch internally already. > > The above may not be technically wrong, but smells like an > under-researched description. I knew this question was coming, but the research was not as easy to follow as it seemed convoluted to me. After a bit more research, I think 8f0700dd33f (fetch/pull: Add the 'on-demand' value to the --recurse-submodules option) is the culprit, where this patch should have been squashed into, as that made the both locations word for word equal. > > So where did we go wrong? Was there a good reason why we have two > instances of these option descriptions, and if so, are we sure that > that reason is no longer applicable to today's system that we can > safely share the description? The proposed log message is a place > to answer these questions. The commit above is where we went wrong; It doesn't seem like a good reason for not including this is given in there. > > By the way, 7dce19d3 is interesting in another way and worth > studying in that it adds --submodule-prefix ;-) It may be something > we want to consider consolidating with what Brandon has been working > on. That's why Brandon is cc'd now. :) > > By the way^2, the "unconditionally" on the title conveyed less > information than their bits weigh. Unless a reader knows > fetch-options are shared between fetch and pull, s/he would not know > you meant by "unconditionally" to show these in both fetch and pull. > > Documentation: share more descriptions for options between fetch and pull > > perhaps? That's way better. I'll resend shortly. Thanks, Stefan
Re: [PATCH] Documentation/fetch-options: emit recurse-submodules, jobs unconditionally
Stefan Beller writes: > Currently the section about recursing into submodules is repeated in > git-pull word for word as it is in fetch-options. > > Don't repeat ourselves here and include the --recurse-submodules via > fetch options. > > As a bonus expose the --jobs parameter in git-pull as well as that is > declared as a OPT_PASSTHRU for fetch internally already. The above may not be technically wrong, but smells like an under-researched description. IOW, "Why did the commit that introduced the option described it this way in the first place? Was there a specific reason why it had to be that way, and that reason is no longer with us now, which makes this change safe?" is a very natural question somebody who sees this patch, and your description does not answer it. It seems that the option to recurse into submodules was added by Jens's 7dce19d3 ("fetch/pull: Add the --recurse-submodules option", 2010-11-12) to both fetch and pull at the same time. I suspected perhaps we hid it from pull initially while describing it for fetch, but that does not seem to be the case, and back at that version, pull and fetch shared the description without duplicating. So where did we go wrong? Was there a good reason why we have two instances of these option descriptions, and if so, are we sure that that reason is no longer applicable to today's system that we can safely share the description? The proposed log message is a place to answer these questions. By the way, 7dce19d3 is interesting in another way and worth studying in that it adds --submodule-prefix ;-) It may be something we want to consider consolidating with what Brandon has been working on. By the way^2, the "unconditionally" on the title conveyed less information than their bits weigh. Unless a reader knows fetch-options are shared between fetch and pull, s/he would not know you meant by "unconditionally" to show these in both fetch and pull. Documentation: share more descriptions for options between fetch and pull perhaps? Thanks.