Hi, I have a FTP-server which has a subset of directories in the form of symlinks. When i try to mirror this subset containing these symlinks lftp either 'downloads' the symlinks, or when i specify -L it tries to download the symlink as a file even though it links to a directory.
Is this a bug, or intended behaviour? :) Example scenario: On disk: | drwxr-x--- ftp/pub/data/ | drwxr-x--- ftp/pub/data/dir1 | -rw-r----- ftp/pub/data/dir1/file1 | -rw-r----- ftp/pub/data/dir1/file2 | -rw-r----- ftp/pub/data/dir1/file3 | drwxr-x--- ftp/pub/data/dir2 | -rw-r----- ftp/pub/data/dir2/file2 | drwxr-x--- ftp/pub/data/dir3 | -rw-r----- ftp/pub/data/dir3/file3 | | drwxr-x--- ftp/pub/symlinks/data/ | lrwxrwxrwx ftp/pub/symlinks/data/dir1/dir1 -> ../../../data/dir1 | lrwxrwxrwx ftp/pub/symlinks/data/dir3/dir3 -> ../../../data/dir3 lftp output: | lftp host:/pub/symlinks> mirror --just-print data | mkdir -p file:/home/user/data | mkdir file:/home/user/data/dir1 | shell ln -sf ../../../data/dir1 /home/user/data/dir1/dir1 | mkdir file:/home/user/data/dir2 | shell ln -sf ../../../data/dir2 /home/user/data/dir2/dir2 | mkdir file:/home/user/data/dir3 | shell ln -sf ../../../data/dir3 /home/user/data/dir3/dir3 | chmod 700 file:/home/user/data/dir1 | chmod 700 file:/home/user/data/dir2 | chmod 700 file:/home/user/data/dir3 | Total: 4 directories, 0 files, 3 symlinks And with -L: | lftp host:/pub/symlinks> mirror --just-print -L data | mkdir -p file:/home/user/data | mkdir file:/home/user/data/dir1 | get -O /home/user/data/dir1 ftp://host/pub/symlinks/data/dir1/dir1 | mkdir file:/home/user/data/dir2 | get -O /home/user/data/dir2 ftp://host/pub/symlinks/data/dir2/dir2 | mkdir file:/home/user/data/dir3 | get -O /home/user/data/dir3 ftp://host/pub/symlinks/data/dir3/dir3 | chmod 700 file:/home/user/data/dir1 | chmod 700 file:/home/user/data/dir2 | chmod 700 file:/home/user/data/dir3 | Total: 4 directories, 0 files, 3 symlinks | New: 3 files, 0 symlinks Also note that when i enter a directory containing a symlink and ask to mirror that symlink directly, this -does- work: | lftp host:/pub/symlinks/data/dir1> ls -la | lrwxrwxrwx dir1 -> ../../../data/dir1 | | lftp host:/pub/symlinks/data/dir1> mirror --just-print dir1 | mkdir -p file:/home/user/dir1 | get -O /home/user/dir1 ftp://host/pub/symlinks/data/dir1/dir1/file1 | get -O /home/user/dir1 ftp://host/pub/symlinks/data/dir1/dir1/file2 | get -O /home/user/dir1 ftp://host/pub/symlinks/data/dir1/dir1/file3 | chmod 600 file:/home/user/dir1/file1 | Total: 1 directory, 3 file, 0 symlinks | New: 3 file, 0 symlinks Any ideas on this? :) Thanks! -Sndr. -- | Always try to be modest, and be proud of it! | 4096R/20CC6CD2 - 6D40 1A20 B9AA 87D4 84C7 FBD6 F3A9 9442 20CC 6CD2
