On Sun, 2015-10-25 at 11:34 -0700, Junio C Hamano wrote:

> I ignored your patch when you sent it the first time the last week,
> due to the same issues I had with this round (see below) and forgot
> about it.

Thanks for the feedback this round.


> I cannot tell if you are trying to say if that is problematic, or if
> you are trying to say if it is a good thing.

It is just a description of the current behaviour when fetching a
single remote and is used as a justification for changing the behaviour
when fetching multiple remotes to match the behaviour when fetching a
single remote, because that suits my myrepos use-case better.

> I cannot tell what "This" refers to.

Replace "This" with "This patch".

> Your earlier sentence was about the behaviour of fetching from one
> remote, e.g. "git fetch this".  And this second sentence makes it
> sound as if that behaviour has some influence on how verbosely "git
> fetch group" (where 'this' and 'that' are members of 'remotes.group')
> to fetch from multiple remotes behaves.

There is no correlation between the verbosity of fetching one remote
and fetching multiple remotes but I would like them to have the same
verbosity level by default. I would like the default verbosity level to
be to not print anything when nothing was fetched. This is the default
verbosity level for fetching a single remote but not multiple remotes.

> Also (and this is the more important part of my complaint), I cannot
> tell if you are saying that it is *bad* for fetching multiple to be
> just as verbose, or if it is *good*, or what.

I think it is good, as long as they both default to printing nothing
when no commits/tags/etc were fetched.

> If you are fetching from two places, and only one of them has
> something new, you would see

I am not interested in that case, only in the case where multiple
remotes are being fetched and no commits/tags/etc were fetched,
essentially I want to turn this output:

$ git fetch --all
Fetching origin
Fetching mirror

Into this output:

$ git fetch --all

> That does not sound like a valid excuse to change the behaviour of
> the command everybody, not just "myrepos tool" (whatever it is),
> uses.  Your explanation does not seem to give us enough information
> to answer this question intelligently: shouldn't you be fixing
> myrepos instead, perhaps by making it run 'git fetch' with more
> verbose mode, if it wants to see more information, or running 'git
> fetch' and parsing different parts of its output?

myrepos is a tool for managing multiple repos of different types:

https://myrepos.branchable.com/

It definitely wouldn't be appropriate to add screen scraping and
parsing of different version control systems to myrepos.

myrepos doesn't care about the output of repository tools beyond
whether there was any output or not. myrepos will pass --verbose and
other flags on to git fetch if the user passes --verbose to it.

> Having said all that, this time I read the change and the change
> itself feels 40% sensible, even for those who do not care about
> "myrepos" at all.
All I want is for "Fetching remote" to not be printed when there are no
changes fetched and I haven't used the --verbose option.

I realise now that my patch is actually incorrect in that it also
suppresses "Fetching remote" messages when some changes were fetched.

I will come back with a correct patch that is better explained.

> I'd sell it like the attached, if I were doing this patch.  The last
> paragraph is where the remaining 60% went ;-)

Thanks, I will try to re-use that for the next patch.

> Note that the current output was deliberately designed like this to
> give an easy reminder for the user what the components of 'group'
> are.  With this change, we are selfishly and unilaterally breaking a
> feature that was designed to help them, but if they strongly care,
> they can complain and revert this change.

To be honest I didn't know this group feature existed and I am
surprised that anyone would want anything other than --all.

I am not sure what the solution here is but perhaps the behaviour
demonstrated below is acceptable to users of this feature:

# When no changes were fetched
$ git fetch group

# When some changes were fetched
$ git fetch group
Fetched origin
From
git://one.of.the.places.xz/
       aadb70a..74301d6  master     ->
this/master
No changes from someone someoneelse otherperson

# When no changes were fetched in verbose mode
$ git fetch --verbose group
Fetching origin
Fetching someone
Fetching someoneelse
Fetching otherperson

# When some changes were fetched in verbose mode
$ git fetch --verbose group
Fetching origin
From git://one.of.the.places.xz/
       aadb70a..74301d6  master     -> this/master
Fetching someone
Fetching someoneelse
Fetching otherperson

-- 
bye,
pabs

http://bonedaddy.net/pabs3/

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to