git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jari Aalto <jari.aalto@cante.net>, git@vger.kernel.org
Subject: [PATCHv2 4/5] mv: improve overwrite warning
Date: Mon, 12 Dec 2011 16:54:17 -0500	[thread overview]
Message-ID: <20111212215417.GA18310@sigill.intra.peff.net> (raw)
In-Reply-To: <20111212215238.GD9754@sigill.intra.peff.net>

When we try to "git mv" over an existing file, the error
message is fairly informative:

  $ git mv one two
  fatal: destination exists, source=one, destination=two

When the user forces the overwrite, we give a warning:

  $ git mv -f one two
  warning: destination exists; will overwrite!

This is less informative, but still sufficient in the simple
rename case, as there is only one rename happening.

But when moving files from one directory to another, it
becomes useless:

  $ mkdir three
  $ touch one two three/one
  $ git add .
  $ git mv one two three
  fatal: destination exists, source=one, destination=three/one
  $ git mv -f one two three
  warning: destination exists; will overwrite!

The first message is helpful, but the second one gives us no
clue about what was overwritten. Let's mention the name of
the destination file:

  $ git mv -f one two three
  warning: overwriting 'three/one'

Signed-off-by: Jeff King <peff@peff.net>
---
 builtin/mv.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/builtin/mv.c b/builtin/mv.c
index ae6c30c..8dd5a45 100644
--- a/builtin/mv.c
+++ b/builtin/mv.c
@@ -177,7 +177,7 @@ 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(_("%s; will overwrite!"), bad);
+					warning(_("overwriting '%s'"), dst);
 					bad = NULL;
 				} else
 					bad = _("Cannot overwrite");
-- 
1.7.8.13.g74677

  reply	other threads:[~2011-12-12 21:54 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-11 21:22 git 1.7.7.3: BUG - please make git mv -f quiet Jari Aalto
2011-12-12  7:45 ` [PATCH 0/5] mixed bag of minor "git mv" fixes Jeff King
2011-12-12  7:50   ` [PATCH 1/5] docs: mention "-k" for both forms of "git mv" Jeff King
2011-12-12 19:52     ` Junio C Hamano
2011-12-12  7:51   ` [PATCH 2/5] mv: honor --verbose flag Jeff King
2011-12-12 19:53     ` Junio C Hamano
2011-12-12 21:45       ` Jeff King
2011-12-12  7:51   ` [PATCH 3/5] mv: make non-directory destination error more clear Jeff King
2011-12-12 19:55     ` Junio C Hamano
2011-12-12  7:52   ` [PATCH 4/5] mv: improve overwrite warning Jeff King
2011-12-12 19:57     ` Junio C Hamano
2011-12-12 21:52       ` Jeff King
2011-12-12 21:54         ` Jeff King [this message]
2011-12-12 21:54         ` [PATCHv2 5/5] mv: be quiet about overwriting Jeff King
2011-12-12  7:54   ` [PATCH " Jeff King
2011-12-12 19:59     ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20111212215417.GA18310@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jari.aalto@cante.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).