Не вдалося rsync до іншого тома за допомогою Git Bash


10

Я використовую git bash на машині Windows: версія 2.7.2 (32-розрядна версія) Git для Windows, побудована 2016-02-23, доступна на https://git-scm.com .

У Баш я можу скопіювати каталог з /c/до /e/(флеш - накопичувач USB). Однак я отримую помилки, коли намагаюся використовувати rsync. Я спробував додати cygdriveдо каталогу імена, але це не вийшло. Також спробував додати -e(просто щоб побачити, що буде), що теж не працювало.

Я зазначу, що команда copy працює, тому що дивно, що я бачу диск в один бік, але не бачу його іншим способом.

Успішна копія: введіть тут опис зображення

Невдало rsync: введіть тут опис зображення

Дякую, і, будь ласка, прокоментуйте, якщо ви вирішили підтримати мене, щоб зробити питання краще.

Додаткові відомості та дослідження:

Помилка 255

В якийсь момент я вважаю, що я отримував саме таку помилку (255), яка привела мене до цієї посади. Однак рішення тут пов'язане з cygwinне git bash. /programming/16969119/dotcloud-push-on-cygwin-fails-with-rsync-error-unexplained-error-code-255

Бродячий та rsync

Є багато хороших розчарувань щодо механіки rsync, особливо від mitchellh. Однак я не був впевнений, які компоненти, на які вони посилаються, присутні у моїй установці, або не знаю, як сказати. На цьому сайті я поставив окреме запитання щодо цього питання. джерело: https://github.com/mitchellh/vagrant/isissue/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 повідомив Вернер BEROUX

Чи можливо втекти, щоб передати "/ 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]

Чи можете ви записати свої помилки в текст, будь ласка? Дивіться: Скріншоти скріншотів коду та / або помилок
kenorb

Ви пробували rsync -trd c:/examp/ e:/?
ams

@ams так, та сама помилка
geneorama

Перебудова mysys2може допомогти, але я не вагаюся виконувати ці кроки. Я можу жити без rsync, але я не можу дозволити собі зламати git github.com/git-for-windows/git/wiki/Building-msys2-runtime
geneorama

Ви пробували WSL . Це дозволяє кріпити на палець і приводити в режим синхронізації.
Пітер Бербек

Відповіді:


0

Через два роки я знайшов відповідь, яка, здається, працює на моєму останньому комп’ютері (Windows 10, 64 біт).

  1. Встановіть git bash для Windows
  2. Завантажити rsyncз futureware.at *
  3. Витягую куди завгодно, я вибираю C:\rsync-3.1.2-2-x86_64.pkg
  4. Додайте папку bin у верхній частині вашого системного шляху

* Я не знаю, хто стоїть за futureware.at, я вважаю за краще посилання на більш першоджерело.

Я також відправив відповідь тут у відповідь на більш загальне питання, тому що я не міг згадати , де це питання було в той час.


0

З http://repo.msys2.org/msys/x86_64/ завантажте такі пакети:

http://repo.msys2.org/msys/x86_64/rsync-3.1.3-1-x86_64.pkg.tar.xz
http://repo.msys2.org/msys/x86_64/msys2-runtime-3.0.7-6-x86_64.pkg.tar.xz
http://repo.msys2.org/msys/x86_64/zlib-1.2.8-3-x86_64.pkg.tar.xz
http://repo.msys2.org/msys/x86_64/libiconv-1.16-1-x86_64.pkg.tar.xz

Розпакування кожен з tar -xf, а потім з usr/binкопії rsync.exe, msys-2.0.dll, msys-z.dllі msys-iconv-2.dllв каталог , з якого ви хочете запустити Rsync. Тест с rsync.exe -h.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.