3 votos

¿Cómo configurar un espejo del sistema de archivo de sólo lectura para un repositorio SVN?

Tengo un repositorio SVN que vive en una red de Windows de la unidad (y al que se accede a través de un file url). Varios de mis compañeros de trabajo no puede y no va a usar SVN, así que tengo que mantener una lectura sólo es el reflejo de todo lo que en el repositorio en otro directorio.

Yo no veo ninguna manera fácil de hacerlo. Yo no puedo hacer una copia de trabajo, debido a que mastica demasiado espacio en la red. svn export no eliminará los archivos que se eliminan del repositorio. Yo estaba tratando de crear un script gancho para copiar los archivos cuando está activada, pero no puede garantizar la ruta de acceso al SVN ejecutable será el mismo para cada cliente.

Yo iba a tener simplemente un script que me ejecute manualmente el cual se compara cada archivo en el repositorio con el archivo en la red y elimina o copias se si hay un desequilibrio, pero me parece que no puede obtener el tamaño del archivo desde el repositorio, lo que significa que tendría que confiar únicamente en el reporte de la fecha de modificación del archivo--que soy reacio a hacer.

¿Cuál es la mejor manera de conseguir esto?

4voto

hark Puntos 550

Ellos no usar SVN? Honestamente, me gustaría hacer mi mejor esfuerzo para empujar hacia abajo sus gargantas (cualquier usuario final puede utilizar TortoiseSVN con un mínimo de re-entrenamiento), si es posible. No hay ninguna razón usted debe tener para hackear alrededor de su pereza.

Tal y como yo lo veo, hay al menos dos maneras de que la piratería --

  • Crear copias de trabajo separadas y la mano de administrar SVN para cada

La verdad es que tengo el mismo problema en mi lugar de trabajo, y mi jefe me dijo que no puede obligarlos a utilizar. En su lugar, vamos a crear un recurso compartido de red para cada desarrollador/grupo que necesita tener acceso al código, a continuación, manualmente svn up/svn commit de ellos en el momento de la solicitud.

  • Tiene un "Maestro" de la copia de trabajo y la mano de SMB/FTP/NFS acceso a ella

Tenemos una terrible instalación con otro grupo, que no quería usar SVN, así que sólo les dio raw Samba acceso a la máquina de producción a trastear con los archivos. Entonces, cada noche un cron job pasa a través y añade todos los ficheros y se compromete a la repo. Dado que sólo hay una copia de trabajo no hay nunca ningún tipo de conflictos. Sinceramente es sirve de poco, excepto para hacerme dormir un poco ecosonda en la noche.

Ambos son absolutamente estúpido formas de hacerlo, la primera requiere de la mano de resolución de conflictos (por usted o por un miembro de su equipo) y el otro tiene prácticamente ninguna ventaja sobre el disco de copias de seguridad. En mi humilde opinión, la única verdadera solución es enseñar a sus usuarios finales no sólo cómo usar SVN, pero ¿por qué se debe utilizar. De esa manera ellos pueden ser responsables de su propio trabajo, dejando a lidiar con los problemas reales.

1voto

dierre Puntos 187

¿Hacer un ROBOCOPY /MIR desde una copia de trabajo existentes?

1voto

retracile Puntos 1142

¿Tal vez podría utilizar webdav para esto? Más información aquí: autoversioning de webdav que asegúrese de leer las advertencias y tal.

(Pero estoy de acuerdo con la respuesta "les obligan a usar de todos modos").

1voto

Yar Puntos 25421

Trate de usar SVN::Notificar a::Espejo

http://search.cpan.org/~jpeacock/SVN-Notify-Espejo-0.038/lib/SVN/Avisar/Espejo.pm

Es un módulo de perl, pero el gancho a través de la norma SVN sistema de gancho (la documentación se ha de ejemplos).

Esto mantendrá una copia del repositorio o parte de los mismos a nivel local, pero a continuación, puede empujar que a otro sistema con rsync. Así que siempre y cuando usted consigue los permisos de la recta, esta será su lectura sólo hasta la fecha de la copia para que la gente consulte.

1voto

dierre Puntos 187

He hecho algunas pruebas con VisualSVN Server y tortuga

Si pongo este comando en el gancho de la post-Commit, cualquier cambio que hago se envían a la carpeta c:\data\folder_to_share_readonly.

"svn_executable_path\svn" actualizar c:\data\folder_to_share_readonly--tranquila--myUser no interactivo--username - password myPwd

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: