Я использую git bash на компьютере с Windows: версия 2.7.2 (32-разрядная версия) Git для Windows, построенная на 2016-02-23, доступна по адресу https://git-scm.com .
В bash я могу скопировать каталог из /c/
в /e/
(флешка). Тем не менее, я получаю ошибки, когда я пытаюсь использовать rsync
. Я попытался добавить cygdrive
в каталог имена, но это не сработало. Также попытался добавить -e
(просто чтобы посмотреть, что произойдет), что тоже не сработало.
Я упоминаю, что команда копирования работает, потому что странно, что я вижу диск в одном направлении, но не вижу его другим способом.
Спасибо, и, пожалуйста, прокомментируйте, если вы понизите голос, чтобы помочь мне сделать вопрос лучше.
Дополнительный фон и исследования:
Ошибка 255
В какой-то момент я считаю, что получаю точно такую же ошибку (255), которая привела меня к этому посту. Однако решение здесь связано с cygwin
git bash, а не с git bash.
/programming/16969119/dotcloud-push-on-cygwin-fails-with-rsync-error-unexplained-error-code-255
Бродяга и rsync
Есть много хороших разногласий о механике rsync
, особенно из mitchellh
. Однако я не был уверен, какие компоненты, на которые они ссылаются, присутствуют в моей установке, или не уверен, как сказать. Я задал отдельный вопрос на этом сайте об этой проблеме. источник: https://github.com/mitchellh/vagrant/issues/3236
Перечисление дисков в эмулируемых средах Linux
источник: http://mingw-users.1079350.n2.nabble.com/Windows-c-drive-td6555321.html
Когда cat /etc/fstab
я получаю следующее:
$ cat /etc/fstab
# For a description of the file format, see the Users Guide
# http://cygwin.com/cygwin-ug-net/using.html#mount-table
# DO NOT REMOVE NEXT LINE. It remove cygdrive prefix from path
none / cygdrive binary,posix=0,noacl,user 0 0
none /tmp usertemp binary,posix=0,noacl 0 0
То, что я думаю, указывает на то, что есть названный том cygdrive
, однако я не нашел ни одной команды, которая успешно обращается к этому имени.
Возможный дублирующий вопрос:
@kenorb предположил, что этот вопрос является дубликатом Почему cwRsync не работает в Windows? ,
Я не помню, чтобы видел этот пост вчера, но этот больше всего похож на мой. Я все еще думаю, что это другой вопрос, потому что этот вопрос был опубликован в 2011 году, а эта версия rsync
- с 2016 года. Предыдущая версия, которую я использовал вчера утром (была установлена в 2015 году), вызвала другую ошибку и побудила меня обновить мою версию git. / Git Bash.
Если этот вопрос является дубликатом, на данный момент нет принятого ответа, и верхний ответ не работает для меня.
В целом, все эти исследования привели меня к мысли, что с rsync
портами Windows было несколько проблем , и что это только самая последняя проблема .
Я думаю, что проблему можно решить, указав диск по-другому ... но я не знаю, что сработает. Я попытался использовать имя диска, букву диска, синтаксис обратной косой черты Windows. Очевидно, это не сработало, и, в конце концов, я просто угадал.
rsync в msysgit
18.10.11 Вернер БЕРУ сказал
Можно ли уйти, чтобы передать «/ c / Folder» в качестве аргумента приложению? Git преобразует это в «C: \ Folder» по умолчанию, и, кажется, я не могу избежать этого, даже используя обычные методы экранирования. https://groups.google.com/forum/#!topic/msysgit/J1hvt9Ave8g
Я не уверен, что это связано, я думаю, что они пытаются использовать rsync внутри команды git, но интересно, что у них возникают проблемы с путевыми именами. Интересно, если эти ошибки вызваны путём преобразования пути в :
?
Коды ошибок 12 и 255 (изменение от 21 марта 2016 г.)
Так как кто-то еще (@davidpostill) говорит, что это тоже дубликат, я подумал, что снова попробую ответы / комментарии в другом вопросе .
Ответы и комментарии большинства других участников по-прежнему не помогли мне, и это привело меня к выводу, что это другая проблема.
Вот результаты попытки rsync с флэш-накопителя, как это было предложено в последнем комментарии к ответу с наибольшим количеством голосов на другой вопрос :
Сначала я попытался использовать /c/
, что является способом ссылки на диски в других командах Bash для Windows.
user@computer MINGW32 /e
$ rsync -trd /c/examp/ .
ssh: Could not resolve hostname c: Name or service not known
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at /home/lapo/package/rsync-3.0.9-1/src/rsync-3.0.9/io.c(605) [Receiver=3.0.9]
Я получил ту же ошибку с /cygwin
префиксом:
user@computer MINGW32 /e
$ rsync -trd /cygwin/c/examp/ .
ssh: Could not resolve hostname c: Name or service not known
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at /home/lapo/package/rsync-3.0.9-1/src/rsync-3.0.9/io.c(605) [Receiver=3.0.9]
Пробовал различные типы добавления c:
, но, как уже указывалось в прошлом, двоеточие заставляет rsync
думать, что это удаленное соединение, и поэтому происходит сбой с ошибкой 255.
user@computer MINGW32 /e
$ rsync -trd /c:/examp/ .
ssh: Could not resolve hostname c: Name or service not known
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at /home/lapo/package/rsync-3.0.9-1/src/rsync-3.0.9/io.c(605) [Receiver=3.0.9]
rsync -trd c:/examp/ e:/
?
mysys2
может помочь, но я не решаюсь следовать этим шагам. Я могу жить без rsync
, но я не могу позволить себе сломать git
github.com/git-for-windows/git/wiki/Building-msys2-runtime