On Sat, Apr 01, 2017 at 01:29:19AM +0200, blastmaster wrote: > >From eb0411a1bb62afc0fff0c8671c0d51a368f5c80f Mon Sep 17 00:00:00 2001 > From: blastmaster <blastmas...@chelnok.de> > Date: Sat, 25 Mar 2017 01:02:53 +0100 > Subject: [PATCH 1/2] ln: make symbolic links by default: > > * This commit changes the default behavior of ln. > Instead of creating hard links the default will now > create symbolic links. > If you still want to create hard links the -h option is provided. > > * We think that it is more natural to create symbolic links instead of > of hardlinks. Today hardlinks are rarely used. Moreover, its much more > economical > to save the writing effort of the additional parameter.
A ChangeLog-style entry is missing, see file HACKING for commit log requirements. > PS: This commit will eventually break all your systems! ;) So this has to be documented in NEWS, too! ;) > --- > src/ln.c | 36 ++++++++++++++++++------------------ > 1 file changed, 18 insertions(+), 18 deletions(-) > > diff --git a/src/ln.c b/src/ln.c > index 539d238c8..634c92f7c 100644 > --- a/src/ln.c > +++ b/src/ln.c > @@ -46,7 +46,7 @@ > static enum backup_type backup_type; > > /* If true, make symbolic links; otherwise, make hard links. */ > -static bool symbolic_link; > +static bool hard_link; > > /* If true, make symbolic links relative */ > static bool relative; > @@ -97,7 +97,7 @@ static struct option const long_options[] = > {"logical", no_argument, NULL, 'L'}, > {"physical", no_argument, NULL, 'P'}, > {"relative", no_argument, NULL, 'r'}, > - {"symbolic", no_argument, NULL, 's'}, > + {"hard", no_argument, NULL, 'h'}, You should have kept -s option for backwards compatibility. ;-) > {"verbose", no_argument, NULL, 'v'}, > {GETOPT_HELP_OPTION_DECL}, > {GETOPT_VERSION_OPTION_DECL}, > @@ -185,7 +185,7 @@ do_link (const char *source, const char *dest) > bool dest_lstat_ok = false; > bool source_is_dir = false; > > - if (!symbolic_link) > + if (hard_link) > { > /* Which stat to use depends on whether linkat will follow the > symlink. We can't use the shorter > @@ -244,15 +244,15 @@ do_link (const char *source, const char *dest) > code would give a misleading "file not found" diagnostic. > This case is different than the others handled here, since > the command in question doesn't use --force. */ > - || (!symbolic_link && backup_type != no_backups)) > + || (hard_link && backup_type != no_backups)) > && dest_lstat_ok > /* Allow 'ln -sf --backup k k' to succeed in creating the > self-referential symlink, but don't allow the hard-linking > equivalent: 'ln -f k k' (with or without --backup) to get > beyond this point, because the error message you'd get is > misleading. */ You change makes this comment misleading, please update it, too! :-) -- ldv