Did you try any of my test cases? This can't and doesn't work for the reasons I outlined in my previous message:
$ cp -av folder_a/a folder_b/ 'folder_a/a' -> 'folder_b/a' cp: cannot create symbolic link 'folder_b/a': No such file or directory $ cp -dv folder_a/a folder_b/ 'folder_a/a' -> 'folder_b/a' cp: cannot create symbolic link 'folder_b/a': No such file or directory $ cp -Pv folder_a/a folder_b/ 'folder_a/a' -> 'folder_b/a' cp: cannot create symbolic link 'folder_b/a': No such file or directory On Sun, Jan 3, 2021 at 12:00 AM Brian Inglis <brian.ing...@systematicsw.ab.ca> wrote: > > On 2021-01-02 21:16, Matt D. via Cygwin wrote: > > I have a folder with a lot of native Windows symbolic links. I want to > > copy this folder. > > > > I cannot rsync or cp this folder due to Cygwin being unable to create > > symbolic links without also wanting to verify the link target. This > > can be demonstrated: > > > > $ ln -s a b > > ln: failed to create symbolic link 'b': No such file or directory > > > > If I create a test directory folder_a/ and folder_b/. Inside I will > > "touch a" and "ln -s a b". > > > > I cannot rsync this folder: > > > > $ rsync -a folder_a/ folder_b/ > > rsync: symlink "folder_a/b" -> "a" failed: No such file or directory (2) > > rsync error: some files/attrs were not transferred (see previous > > errors) (code 23) at main.c(1306) [sender=3.2.0dev] > > > > Using "cp -a folder_a/* folder_b/" in this test case DOES work but > > this is simply because files were returned in the correct order and > > the link could be created. > > > > This can be demonstrated where this works fine: > > > > $ cp -a folder_a/a folder_a/b folder_b/ > > > > But this does not: > > > > $ cp -a folder_a/b folder_a/b folder_b/ > > cp: cannot create symbolic link 'folder_b/b': No such file or directory > > cp: warning: source file 'folder_a/b' specified more than once > > > > The order in which files are returned while listing them in a > > directory and necessitating their pre-existence while performing a > > deep copy is impossible. It's also very normal for symbolic links to > > exist which may or may not point to a valid target depending on the > > observing path. > > > > Windows does NOT require a link to be valid before creation. This can > > be demonstrated with mklink: > > > > C:\mklink b a > > symbolic link created for b <<===>> a > > Depending on exactly what you have and what you want to do try: > > $ cp -av > $ cp -dv > $ cp -Pv > or > > robocopy /sl > > -- > Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada > > This email may be disturbing to some readers as it contains > too much technical detail. Reader discretion is advised. > [Data in binary units and prefixes, physical quantities in SI.] > -- > Problem reports: https://cygwin.com/problems.html > FAQ: https://cygwin.com/faq/ > Documentation: https://cygwin.com/docs.html > Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple