Pregunta

Pronto convertiré mi parte de una aplicación de usar un repositorio respaldado por svn a usar git one.

Anteriormente he usado git-svn, pero todo el equipo se está moviendo a git y me han pedido que esté a la vanguardia de ese movimiento. Aunque estoy feliz de entender cómo se hace la mayor parte del movimiento, hay un aspecto que todavía tengo que resolver.

Siempre se ha usado un directorio de mi repositorio de configuración para rastrear el directorio de scripts de una aplicación externa en una máquina Windows independiente. El directorio de scripts para esa aplicación está dentro del directorio de instalación de aplicaciones, por lo que con svn hice una verificación de ese directorio en el punto apropiado.

Tenía la esperanza de poder continuar con esa estructura, pero mi investigación sugiere que los clones estrechos en git requieren que mantengas la misma estructura relativa, lo que sería difícil en mi caso.

Para ser explícito, quiero mapear el contenido de myrepo:config/scripts a C:\application\scripts.

Por lo que puedo ver, tengo varias opciones:

1. Use un repositorio separado para estos archivos de script.

Esto probablemente sería lo mejor, ya que me permite clonar el repositorio exactamente en la ubicación correcta.

Desafortunadamente, actualmente no existe una estructura que permita que los datos de configuración (que son estos scripts) se almacenen en cualquier otro lugar que no sea el directorio de configuración. Como tal, esto requeriría una reestructuración de nuestros repositorios más allá de la conversión directa de svn a git que estábamos esperando.

2. Utilice puntos de unión.

Podría poner la copia de trabajo git del directorio config en otro lugar en C:\ y luego usar un punto de unión para hacer que el directorio aparezca como un subdirectorio del directorio de la aplicación, como Ger4ish sugiere el uso de enlaces simbólicos en Unix.

Lamentablemente, no tengo acceso de administrador a esa máquina, así que esto no es tan simple como parece.

¿Otras opciones?

Me pregunto si hay opciones que me he perdido.

Mirando las respuestas a la pregunta ¿Pago escaso en Git 1.7.0? Puedo obtener algo del camino, pero el requisito de mantener la estructura igual combinado con la necesidad de realizar el check out en una posición específica significa que este método no funcionará.

¿Fue útil?

Solución

¿Ha mirado submódulos ?Puede crear un repositorio de git separado para sus scripts de configuración y agregarlo como un submódulo a su repositorio principal.Esto le permitiría realizar el pago directamente en application/scripts pero aún mantener el directorio de configuración en el repositorio principal.

Hay algunos matices en la forma en que los submódulos se relacionan con el repositorio principal, por lo que querrá que cualquiera que se comprometa con el directorio de scripts entienda este flujo de trabajo.

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