5 votos

Se mercurial trabajar correctamente con varios usuarios mediante una única copia de trabajo en un recurso compartido

Estoy buscando una solución donde la puedo instalar la versión de control en un entorno corporativo en la forma menos invasiva posible. Una posible solución que yo estaba pensando era llegar mercurial configurar en cada uno de los escritorios de windows y sólo la creación de copias de trabajo de los repos en el compartir. Entonces no habría ninguna instalación del servidor de mercurial. Obviamente, esto no soluciona varios usuarios en el mismo archivo al mismo tiempo, pero eso no es un problema que estamos intentando resolver. Y esta no es la copia de seguridad, pero a la vez de control de versiones no debe ser copia de seguridad. Además, tenemos un montón de copia de seguridad.

Sería esta configuración sólo funciona? Se los nombres de usuario en la confirmación de los registros de estar debidamente registrada. O que todo parece ser cometido por el mismo usuario? Alguien tiene alguna experiencia con esta configuración?

4voto

Jared Burrows Puntos 210

Sí, usted puede hacer lo que usted sugiere. Las versiones modernas de Mercurial realmente no importa de dónde las copias de trabajo que están almacenadas pueden ser almacenados en un disco local o de red de un sistema de ficheros.

Hemos tenido algunos problemas en el pasado (antes de la versión 1.7.1) donde Mercurial no serían capaces de romper enlaces permanentes en los repositorios almacenados en sistemas de ficheros en red. El problema es que los dos repositorios será hardlinked en el servidor si no hg clone foo bar. Si un usuario empujar un commit a bar, y accede al repositorio a través de la red compartir, entonces es fundamental que los Mercurial discoveres que los archivos dentro de bar/.hg/store son hardlinked a foo/.hg/store , de modo que puede romper los vínculos. Debido a varios bugs en el kernel de Windows y Linux, esto podría fallar con versiones antiguas de Mercurial.

Así que, para recapitular: el servidor no necesita Mercurial instalado si usted acaba de instalar Mercurial en todos los clientes. Crear (espero recordar las rutas de acceso UNC correctamente)

\\server\share\main

como el principal repositorio y hacer clones para los desarrolladores:

\\server\share\alice
\\server\share\bob

Alice y Bob va a trabajar y modificar las copias de trabajo de forma independiente. Ellos hacen comete como normal y, cuando estén listos, empujan de nuevo a la main repo. Los nombres de usuario se almacenan en los conjuntos de cambios, por lo que se mantendrán cuando los conjuntos de cambios de ir en el repo.

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: