LINUX.ORG.RU

rsync из MSYS2 не хочет понимать кириллицу в source. Как исправить?

 ,


0

1

При использовании rsync из MSYS2 в среде windows 7, при указании кириллического пути в source выдается сообщение об ошибке:

rsync: change_dir "/test/rsync//"/cygdrive/c/1_тест" failed: No such file or directory (2)

Если без кириллицы в исходных путях, то все работает. Кириллица в названиях файлов и путей уже внутри исходной папки обрабатывается нормально. Как это исправить, или в какой кодировке ему подсунуть source? Я пробовал и 1251 и 866 и utf-8. Запускаю как клиент, который подключается к демону на виндовом сервере той же версии rsync, но как я понимаю, ошибка чисто клиентской стороны.

этот rsync, собранный под cygwin  — нормально работает.

или настрой .inputrc в MSYS2

или в какой кодировке ему подсунуть source? Я пробовал и 1251 и 866 и utf-8.

вставь echo перед rsync ..., посмотри, не портит ли он кодировку.

в ~/.inputrc включи utf-8 в msys2:

set completion-ignore-case on

# Key-bindings for the command-line editor.

# Ask before displaying >50 items
# Since $WINDIR $PATH var can be in $PATH, this could list
# all window exectables in C:\WINDOWS
set completion-query-items 50

# Ignore case for the command-line-completion functionality
# on:  default to a Windows style console
# off: default to a *nix style console
set completion-ignore-case on

# none, visible or audible
set bell-style audible

# disable/enable 8bit input
set meta-flag on
set input-meta on
# set output-meta off
set output-meta on
 set convert-meta on
##set convert-meta off

# visible-stats
# Append a mark according to the file type in a listing
#set visible-stats off
set visible-stats on
set mark-directories on

# Show all instead of beeping first
set show-all-if-ambiguous off

набирай какой-нибудь ls 1_тест пока не убедишься, что кодировка правильно показывается, и в ls передаётся.

в так вот настроенном .inputrc вроде бы нормально отрабатывает:

touch 1_тест && ls 1_тест mkdir 00 && rsync 1_тест 00

anonymous ()

«/cygdrive/c/1_тест»

емнип,в cygwin-овском rsync нужно /cygdrive/c/1_тест, в MSYS2 — просто /c/1_тест

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.