No se puede sincronizar a otro volumen con Git Bash


10

Uso git bash en una máquina con Windows: versión 2.7.2 (versión de 32 bits) de Git para Windows construida en 2016-02-23 disponible en https://git-scm.com .

Dentro de bash puedo copiar un directorio de /c/a /e/(una memoria USB). Sin embargo, recibo errores cuando trato de usar rsync. Intenté agregar cygdrivea los nombres de directorio, pero eso no funcionó. También intenté agregar -e(solo para ver qué pasaría) que tampoco funcionó.

Menciono que el comando copiar funciona porque es extraño que pueda ver el disco de una manera, pero no verlo de otra manera.

Copia exitosa: ingrese la descripción de la imagen aquí

Fracasado rsync: ingrese la descripción de la imagen aquí

Gracias, y por favor comente si vota negativamente para ayudarme a mejorar la pregunta.

Antecedentes e investigaciones adicionales:

Error 255

En algún momento creo que estaba recibiendo exactamente el mismo error (255), lo que me llevó a esta publicación. Sin embargo, la solución aquí está relacionada con cygwin, no con git bash. /programming/16969119/dotcloud-push-on-cygwin-fails-with-rsync-error-unexplained-error-code-255

Vagabundo y rsync

Hay mucha buena discusión sobre la mecánica de rsync, especialmente de mitchellh. Sin embargo, no estaba seguro de a qué componentes hacen referencia en mi instalación, ni tampoco cómo saberlo. Hice una pregunta por separado en este sitio sobre ese tema. fuente: https://github.com/mitchellh/vagrant/issues/3236

Listado de unidades en entornos Linux emulados

fuente: http://mingw-users.1079350.n2.nabble.com/Windows-c-drive-td6555321.html Cuando lo hago cat /etc/fstab, obtengo lo siguiente:

$ 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

Lo que creo que indica que hay un volumen con nombre cygdrive, sin embargo, no he encontrado ningún comando que acceda con éxito a ese nombre.

Posible pregunta duplicada:

@kenorb sugirió que esta pregunta es un duplicado de ¿Por qué cwRsync no funciona en Windows? .

No recuerdo haber visto esta publicación ayer, pero esta se parece más a la mía. Todavía creo que es diferente porque esta pregunta se publicó en 2011, y esta versión rsynces de 2016. La versión anterior que estaba usando ayer por la mañana (que se instaló en 2015) dio un error diferente y me impulsó a actualizar mi versión de git / git bash.

Si esa pregunta es un duplicado, (a partir de ahora) no hay respuesta aceptada, y la respuesta principal no funciona para mí.

En general, toda esta investigación me llevó a creer que ha habido varios problemas con rsynclos puertos de Windows, y que este es solo el más reciente.

Creo que el problema puede resolverse especificando el disco de manera diferente ... pero no sé qué funcionaría. Intenté usar el nombre de la unidad, la letra de la unidad, la sintaxis de barra invertida de dos puntos de Windows. Obviamente no funcionó, y al final solo estoy adivinando.

rsync en msysgit

El 18/10/11 Werner BEROUX dijo

¿Es posible escapar para pasar "/ c / Folder" como argumento a una aplicación? Git lo transforma a "C: \ Carpeta" de forma predeterminada y parece que no puedo evitarlo incluso utilizando métodos de escape comunes. https://groups.google.com/forum/#!topic/msysgit/J1hvt9Ave8g

No estoy seguro de si esto está relacionado, creo que están tratando de usar rsync dentro de un comando git, pero es interesante que estén teniendo problemas con los nombres de ruta. Me pregunto si estos errores causados ​​por la ruta que se está traduciendo para incluir a :?

Códigos de error 12 y 255 (editar el 21 de marzo de 2016)

Como alguien más (@davidpostill) dice que esto también es un duplicado, pensé en intentar las respuestas / comentarios en la otra pregunta nuevamente.

Las respuestas y los comentarios más votados de la otra pregunta todavía no me funcionaron, lo que me lleva a la conclusión de que este es un problema diferente.

Estos son los resultados de probar rsync desde la memoria USB, como se sugiere en el comentario final de la respuesta más votada en la otra pregunta :

Primero intenté usar /c/, que es la forma de hacer referencia a unidades en otros comandos en Bash para 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]

Tengo el mismo error con el /cygwinprefijo:

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]

Intenté varios tipos de adición c:, pero como se ha señalado en el pasado, el colon hace rsyncpensar que es una conexión remota, y eso falla con el error 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]

¿Puedes transcribir tus errores en texto, por favor? Ver: desalentar capturas de pantalla de código y / o errores
kenorb

¿Lo intentaste rsync -trd c:/examp/ e:/?
enms.

@ams sí, mismo error
geneorama

La reconstrucción mysys2podría ayudar, pero dudo en seguir estos pasos. Puedo vivir sin él rsync, pero no puedo permitirme romper git github.com/git-for-windows/git/wiki/Building-msys2-runtime
geneorama

¿Has probado WSL ? Permite montajes de memoria USB y rsyncing.
Peter Berbec

Respuestas:


0

Dos años después, encontré una respuesta que parece funcionar en mi computadora más reciente (Windows 10, 64 bits).

  1. Instalar git bash para Windows
  2. Descargar rsyncdesde futureware.at *
  3. Extracto a cualquier lugar, elijo C:\rsync-3.1.2-2-x86_64.pkg
  4. Agregue la carpeta bin a la parte superior de la ruta del sistema

* No sé quién está detrás de futureware.at, preferiría vincular a una fuente más primaria.

También publiqué la respuesta aquí en respuesta a una pregunta más general, porque no podía recordar dónde estaba esa pregunta en ese momento.


0

Desde http://repo.msys2.org/msys/x86_64/ descargue los siguientes paquetes:

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

Desempaquetar cada uno con tar -xf, y luego de usr/bincopia rsync.exe, msys-2.0.dll, msys-z.dlly msys-iconv-2.dllen el directorio desde el que desea ejecutar rsync. Prueba con rsync.exe -h.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.