Pregunta

A pesar de un usuario de windows, yo soy un gran fan de rsync.Ahora, yo no quiero discutir las virtudes de rsync vs cualquier otra herramienta...este no es mi punto.

La única manera que he encontrado de ejecutar rsync en windows es a través de una versión que se construyó en la parte superior de Cygwin, y como Cygwin tiene problemas con Unicode, por lo que no rsync.

Es cualquiera lo suficientemente familiarizado con el funcionamiento de rsync para decir si hay alguna técnica real de programación obstáculos de la portabilidad rsync para un nativo Win32 binario?

O es tal vez que no acaba nunca ha sido suficiente interés de los usuarios de windows a la atención a cambiarlo?

En parte me pregunto porque estoy estoy pensando en tratar de asumir la tarea de iniciar un puerto, pero quiero asegurarme de que no hay algo que me estoy perdiendo en términos de por qué no puede ser posible.

¿Fue útil?

Solución

La forma en que windows bloquea los archivos abiertos podría causar una cuestión que requiere que usted gancho en el Volumen Shadowcopy Servicio.

Hace aproximadamente dos años, este hombre portado el algoritmo en C#.No he echado un vistazo al código (o el binario), pero también puede ser un lugar para empezar a buscar o que alguien intente ponerse en contacto.
http://www.russiantequila.com/wordpress/?p=8

Otros consejos

(descargo de responsabilidad:prometo no google me, pero google analytics me trajo aquí)

me fui a través de trasladar a rsync .neto (sig11 el enlace de mi blog).no hay obstáculos técnicos, sólo los prácticos.como ya se dijo, el código es bastante...densa.difícil de seguir, y la falta total de comentarios.estoy más que feliz de hacer mi trabajo, pero, por desgracia, ya era parte de un esfuerzo comercial, no es mucho mejor forma.

tengo, en un número de ocasiones, metido con la idea de hacer ingeniería inversa sobre el protocolo y hacer una aplicación que del alambre-compatible con el existente, pero ...un poco de limpiador para trabajar con.incluso he empezado un wiki para tal efecto, pero...como se puede ver en la falta de contenido allí, otro elemento que se ha dado prioridad.si a alguien le gusta trabajar conmigo en esto, que puede ser el impulso que necesito para seguir adelante.

el concepto de la herramienta es genial, como es la funcionalidad que ofrece, sin embargo, es bastante limitado fuera de la *ix espacio, y sin duda se beneficiaría de una api.

wiki enlace de referencia:

http://www.russiantequila.com/wiki/index.php?title=Main_Page

¿Has visto esto:

http://www.itefix.no/i2/taxonomy/term/39

He utilizado cwrsync sin ningún problema (y con la mayor parte de la costumbre de cygwin miseria), pero no he tenido ninguna necesidad de nombres de archivo unicode, por lo que no he visto ese problema.

Realmente no sé por qué no hay un nativo Win32 puerto, pero me puse a pensar en el origen de un tiempo porque he implementado un similar delta-copia del sistema en C#.Como era de esperar desde el mundo de la brillante *nix a los piratas, la fuente es en gran medida de un solo carácter de los nombres de las variables y una total ausencia de comentarios, que no es terrible útil y puede ser bastante desalentador para los porteros.

He estado evaluando un esfuerzo para realizar una win32 puerto.No creo que algo importante iba a bloquear, pero la evidencia tanto de la rsync lista de correo y otro de los puntos de discusión a una fuerte dependencia en unix sistema fork() llamadas.El uso de hilos parece el camino a seguir para win32.

Hilos vsTenedor de discusión

Yo realmente apreciaría un puerto de rsync para MS-Windows, que puede ser integrado con Visual Studio.Estoy encontrando diversos errores de protocolo al azar, un poco de forma intermitente.Estoy usando rsync para distribuir sw a una red de alrededor de 200 máquinas y por lo general obtener alrededor de una docena de fallos.Estoy usando GCC 4.4.2 y la última cygwin para construir rsync v3.0.7.Me ayudaría mucho si me pudiera experimentar con una versión que no requiere de cygwin.Esto es debido a que las máquinas en la red ya tiene otra cygwin basado en la aplicación de la ejecución que es una versión diferente a la que tengo yo.

Después de haber pasado algún tiempo en el rsynv lista de correo de opinión parece estar dividida en cuanto a la causa de los errores de protocolo en MS-Windows.Algunos dicen que es un error en rsync donde no pudo hacer una limpieza de cerrar el socket, un error que fue corregido hace un tiempo.Otros dicen que es fundamental error de protocolo en rsync donde el cliente no decirle al servidor que está terminado, simplemente se apaga, causando MW-servidores de windows para obtener una PRIMERA señal de la toma, algo que no ocurre en Unix.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top