Re: [PATCH] Documentation/fetch-options: emit recurse-submodules, jobs unconditionally

2016-09-26 Thread Brandon Williams
> > 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

2016-09-26 Thread Stefan Beller
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

2016-09-26 Thread Junio C Hamano
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

2016-09-26 Thread Stefan Beller
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

2016-09-26 Thread Junio C Hamano
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.