rm: resolving by removal is not a warning-worthy event
authorJunio C Hamano <gitster@pobox.com>
Wed, 17 Jul 2019 20:28:24 +0000 (13:28 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 18 Jul 2019 21:47:28 +0000 (14:47 -0700)
commitb2b1f615ce3b9383a32dec7f84488284004224f3
tree7cb1583b701ff1b1df55688d80f010673ebe6785
parent0d0ac3826a3bbb9247e39e12623bbcfdd722f24c
rm: resolving by removal is not a warning-worthy event

When resolving a conflict on a path in favor of removing it, using
"git rm" on it is the standard way to do so.  The user however is
greeted with a "needs merge" message during that operation:

$ git merge side-branch
$ edit conflicted-path-1
$ git add conflicted-path-1
$ git rm conflicted-path-2
conflicted-path-2: needs merge
rm 'conflicted-path-2'

The removal by "git rm" does get performed, but an uninitiated user
may find it confusing, "needs merge? so I need to resolve conflict
before being able to remove it???"

The message is coming from "update-index --refresh" that is called
internally to make sure "git rm" knows which paths are clean and
which paths are dirty, in order to prevent removal of paths modified
relative to the index without the "-f" option.  We somehow ended up
not squelching this message which seeped through to the UI surface.

Use the same mechanism used by "git commit", "git describe", etc. to
squelch the message.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/rm.c
t/t3600-rm.sh