Akim Demaille wrote: ... >> The bootstrap script in gnulib already does this: >> >> # Remove any dangling symlink matching "*.m4" or "*.[ch]" in some >> # gnulib-populated directories. Such .m4 files would cause aclocal to fail. >> # The following requires GNU find 4.2.3 or newer. Considering the usual >> # portability constraints of this script, that may seem a very demanding >> # requirement, but it should be ok. Ignore any failure, which is fine, >> # since this is only a convenience to help developers avoid the relatively >> # unusual case in which a symlinked-to .m4 file is git-removed from gnulib >> # between successive runs of this script. >> find "$m4_base" "$source_base" \ >> -depth \( -name '*.m4' -o -name '*.[ch]' \) \ >> -type l -xtype l -delete > /dev/null 2>&1 > > Great! But why just m4? Why not removing all the links that > go into gnulib/ before adding the fresh ones?
"Just m4"? It also handles *.[ch] files. I suppose you're wondering why we don't just drop the -name requirements? Probably general caution. When removing files, even if only dangling symlinks, it's better to be as restrictive as possible, just in case something goes wrong, to limit the scope of any failure.
