После чтения ссылки python3 плагин увидит, что она указывает на /usr/bin/python3, которая тоже ссылка. Она, в свою очередь, указывает на файл python3.6, расположеный в директории /usr/bin, но плагин не учитывает относительность ссылки и начнёт читать её в текущей директории.
Когда разбирался с этой ошибкой, обнаружил, что ссылки читаются неоптимально - дважды. Первый раз при чтении директории, второй раз при вызове функции GetFindDataW.
Ссылки читаются с одной целью - узнать, директория это или нет. В пулл реквесте схема чтения ссылок переделана так, чтобы тип устанавливался сразу при чтении директории и не возникала необходимость перечитывать их повторно. Для некоторых серверов со слабым каналом и большим количеством ссылок можно получить увеличение скорости чтения директории почти в 2 раза. Для примера можно привести директорию ftp@cygwin.mirror.rafal.ca:/Debian/debian/dists, которая на моих тестах читалась за 26 секунд, а стала за 14.
Помимо этого внесены следующие изменения:
Сделано логирование команд SCP (оказалось, что команды вообще никак не логировались, что не удобно)
Amazon S3 не поддерживает резолвинг ссылок, но в диалоге редактирования сессии чекбокс Resolve symbolic links был доступен для изменения
В режиме
SCP
некоторые последовательности ссылок могут читаться неправильно.Пример. Листинг текущей директории:
Листинг директории
/usr/bin
:После чтения ссылки
python3
плагин увидит, что она указывает на/usr/bin/python3
, которая тоже ссылка. Она, в свою очередь, указывает на файлpython3.6
, расположеный в директории/usr/bin
, но плагин не учитывает относительность ссылки и начнёт читать её в текущей директории.Пулл реквест исправляет ошибку с чтением ссылок.
Когда разбирался с этой ошибкой, обнаружил, что ссылки читаются неоптимально - дважды. Первый раз при чтении директории, второй раз при вызове функции
GetFindDataW
.Ссылки читаются с одной целью - узнать, директория это или нет. В пулл реквесте схема чтения ссылок переделана так, чтобы тип устанавливался сразу при чтении директории и не возникала необходимость перечитывать их повторно. Для некоторых серверов со слабым каналом и большим количеством ссылок можно получить увеличение скорости чтения директории почти в 2 раза. Для примера можно привести директорию
ftp@cygwin.mirror.rafal.ca:/Debian/debian/dists
, которая на моих тестах читалась за 26 секунд, а стала за 14.Помимо этого внесены следующие изменения:
SCP
(оказалось, что команды вообще никак не логировались, что не удобно)Amazon S3
не поддерживает резолвинг ссылок, но в диалоге редактирования сессии чекбоксResolve symbolic links
был доступен для изменения