Subject: Re: bug#10489: 24.0.92; dired-do-copy may create infinite directory hierarchy

From: Thierry Volpiatto <[email-masked]>
Date: Fri, 13 Jan 2012 09:38:30 +0100

Hi Eli,

Eli Zaretskii <[email-masked]> writes:

> I don't think this will solves all the use cases.  File names are not
> strings, you cannot compare them as literal strings and hope to plumb
> all the leaks.
A test with `equal' is already used in `dired-create-files',
(equal from to) 
Is it the correct way to compare two filenames?

> Some situations which I think this patch will not handle correctly:
>
>  . file names with different letter-case on a case-insensitive file
>    system
Can you provide example or better a recipe.

>  . relative vs absolute file names
Same.

>  . file names that are hard links to the same directory (this includes
>    the infamous 8+3 short aliases on Windows)
Don't know on Windows, (My knowledge of links in windows is very
limited) 
here it is difficult (impossible as User) to Hardlink a directory:

--8<---------------cut here---------------start------------->8---
man ln:
     -d, -F, --directory
          allow the superuser to attempt to hard link directories
          (note: will  probably fail due to  system restrictions,
          even for the superuser)
--8<---------------cut here---------------end--------------->8---

> I didn't actually try the patch, so apologies if I missed something
> which makes these non-issues.
Didn't try yet on Windows.
However, it is working fine for common usage on GNU/Linux, with
M-x copy-directory M-: (dired-copy-file/recursive x y) 
and `C' from dired.
Would be great you try it for the use cases you describe above.
(Maybe with a version of the patch that use `equal')

-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997