Thread (4 messages) flat view 4 messages, 4 authors, 2016-06-15

Re: Message from git reset: confusing?

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:47:09

Matthieu Moy [off-list ref] writes:
I was wondering what was the motivation for the output of "git merge":
You meant "git reset".
$ git reset file
file: locally modified
$ 
First a tangent.

Removing this output _when no <path> is given_ would greatly reduce the
usability of the command.

I often find myself working on something that consists of more than one
steps, and initially I decide that these would form, say, two commits A,
and B.  I first start adding the changes that are relevant to A, and my
index gradually gets closer to what A should finally look like.

But then I realize that logically commit B should come before commit A,
and it is time to "git reset" without any <path>s.  The output would let
me review the changes (this includes changes pertaining to both A and B)
to help me recall which files would contain changes that are relevant to
B.

I agree that "git reset a-single-exact-filename" could be much more
silent.  I would even say we do not even need -v in such a case.

But the thing is, that is a very narrow special case.  The parameter the
command takes is not _a file_, but is a set of pathspecs, and I would
imagine that when you are in a situation similar to what I just described
in a larger project, you would appreciate the same reminder of modified
paths when you run the command like this:

    $ git reset include/ arch/x86/

I wouldn't oppose to a patch that squelches the output when all pathspecs
given from the command line _exactly_ name existing paths, but I tend to
think that it would be usability regression if you do not show any output
in a case like the last example.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help