Code

mv: be quiet about overwriting
authorJeff King <peff@peff.net>
Mon, 12 Dec 2011 21:54:42 +0000 (16:54 -0500)
committerJunio C Hamano <gitster@pobox.com>
Mon, 12 Dec 2011 23:43:45 +0000 (15:43 -0800)
When a user asks us to force a mv and overwrite the
destination, we print a warning. However, since a typical
use would be:

  $ git mv one two
  fatal: destination exists, source=one, destination=two
  $ git mv -f one two
  warning: overwriting 'two'

this warning is just noise. We already know we're
overwriting; that's why we gave -f!

This patch silences the warning unless "--verbose" is given.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/mv.c

index 4a8374f63d8a55593309a42967a740201de6a62a..10154bb3160f3f7c4e424ee817cf2de99d55f18e 100644 (file)
@@ -173,7 +173,8 @@ int cmd_mv(int argc, const char **argv, const char *prefix)
                                 * check both source and destination
                                 */
                                if (S_ISREG(st.st_mode) || S_ISLNK(st.st_mode)) {
-                                       warning(_("overwriting '%s'"), dst);
+                                       if (verbose)
+                                               warning(_("overwriting '%s'"), dst);
                                        bad = NULL;
                                } else
                                        bad = _("Cannot overwrite");