2008-10-30 16 views
6

Estoy en el proceso de pasar de VSS a SVN y no estoy seguro de cómo compartir archivos en SVN.Compartir archivos en SVN

Básicamente tenemos la siguiente estructura en VSS

$MOSS 
    - Components 
    - ComponentA 
     - bin 
    - ComponentB 
     - bin 
    - GAC Mirror 

GAC espejo mantiene una copia compartida de todas las DLL de las carpetas de basura de los componentes para permitir una fácil copiar al GAC.

En VSS todo lo que hace es arrastrar el Dll de la carpeta bin a la carpeta GAC ​​Mirror y funciona hasta que se agote.

¿Cómo puedo hacer esto en SVN?

Gracias de antemano.

Respuesta

6

¿Es svn: externals lo que buscas? http://svnbook.red-bean.com/en/1.0/ch07s03.html

+0

¿Puedo vincular varias carpetas a una haciendo esto? – Arry

+0

No se parece a esto :(Solo traté de configurar dos proyectos SVN diferentes como externos en la carpeta compartida de mi proyecto "principal" y solo se copió el segundo proyecto de referencia externo. – Sprogz

+0

Esto debería funcionar: debe tener un única propiedad 'svn: externals' definida con múltiples rutas relativas que se asignan a las URL de repositorio absolutas. Consulte la sección de externalidades mencionada anteriormente. –

1

Tuvimos el mismo problema. La respuesta simple es que no puede compartir archivos en SVN, al final tuvimos que reestructurar nuestros directorios y usar archivos por lotes.

p. Ej. para los archivos de código fuente que se compartieron, los movimos a una carpeta Incluir y hacemos que todos los proyectos hagan referencia a esa carpeta.

Para archivos binarios que deben copiarse en más de una ubicación, los almacenamos solo una vez en SVN y luego usamos archivos por lotes para copiarlos a las ubicaciones de destino en cada máquina de desarrollo (o también en la máquina de compilación) .

+1

estoy en el proceso de venta de la transición a SVN y esto no va a ayudar a mi causa, césped. – Arry

+0

Todavía valía la pena realizar el cambio porque SVN es más rápido, más robusto y tiene mejor soporte para los usuarios externos. Tal vez deberías tratar de enfatizar los otros puntos buenos. Además, la estrategia de compromiso optimista mejora la productividad (en comparación con el archivo bloqueado checkin/checkout de VSS). – RickL

+0

Arry, los archivos compartidos son deficientes en VSS. El mayor problema es que una vez que haya ramificado una carpeta, todos los archivos compartidos se ramificarán también, por lo que deberá eliminarlos y volver a compartirlos. La carpeta 'común' es una buena alternativa. – gbjbaanb

2

I segundo Rick en esto. Para mí, todo el concepto de "compartir" (= tener el mismo archivo en dos lugares en las cajas) es extraño.

Supongo que cada sistema de control de versiones tiene su propia mentalidad implícitamente asociada. Probé con Perforce y me quedé con Subversion. Traer sus proyectos sin cambiar la mentalidad y tal vez el flujo de trabajo puede ser defectuoso.

El Book en svn es una lectura digna, para obtener un poco de la mentalidad sumergida antes de sumergirse. Puede seleccionar algunas secciones solamente, no tiene que leer todas a la vez.

+0

+1 Muy cierto.Aprovisionar un diseño de proyecto existente en cualquier VCS sin ningún cambio a menudo hará que usted haga las cosas de la manera incorrecta. – JesperE

+0

Compartir no es específicamente un concepto de "sistema de control de versiones". Quiero que el mismo archivo exista en varios lugares. En los días previos al control de fuente, tendríamos que copiar continuamente los cambios hacia adelante y hacia atrás. Sería preferible que los archivos se mantuvieran sincronizados automáticamente, con un conjunto de historial de revisión (ya que solo hay un conjunto de historias de revisión) –

Cuestiones relacionadas