Hi,

Trying to make a link that already exists, 'ln' prints a message that
is slightly confusing, especially when using '-v' and thus expexting
a progress message.  For example:

$ ln -sv bash /bin/sh
ln: creating symbolic link '/bin/sh': File exists

The 'creating..." seems to say that the link is being created.
The message would be clearer in the following form:

ln: cannot create symbolic link '/bin/sh': File exists

Attached patch makes this change.

Regards,

Benno

-- 
http://www.fastmail.fm - Faster than the air-speed velocity of an
                          unladen european swallow

From 05939f3bf8907f9ae9f36d72e521d934c49daf37 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensb...@justemail.net>
Date: Sat, 26 Jun 2010 12:00:42 +0200
Subject: [PATCH] ln: print a clearer error message when linking fails

---
 src/ln.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/ln.c b/src/ln.c
index 8612afe..bd5f361 100644
--- a/src/ln.c
+++ b/src/ln.c
@@ -304,14 +304,14 @@ do_link (const char *source, const char *dest)
       error (0, errno,
              (symbolic_link
               ? (errno != ENAMETOOLONG && *source
-                 ? _("creating symbolic link %s")
-                 : _("creating symbolic link %s -> %s"))
+                 ? _("cannot create symbolic link %s")
+                 : _("cannot create symbolic link %s -> %s"))
               : (errno == EMLINK && !source_is_dir
-                 ? _("creating hard link to %.0s%s")
+                 ? _("cannot create hard link to %.0s%s")
                  : (errno == EDQUOT || errno == EEXIST || errno == ENOSPC
                     || errno == EROFS)
-                 ? _("creating hard link %s")
-                 : _("creating hard link %s => %s"))),
+                 ? _("cannot create hard link %s")
+                 : _("cannot create hard link %s => %s"))),
              quote_n (0, dest), quote_n (1, source));
 
       if (dest_backup)
-- 
1.6.3.3

Reply via email to