2010-03-19 13 views
8

Me pregunto si existe alguna práctica recomendada para mantener el código fuente bajo control de versiones entre diferentes compañías. En Open Source hay un mantenedor que recibe parches, decide sobre ellos y los aplica. Pero, ¿qué pasa con los proyectos de fuente cerrada donde las diferentes empresas obtienen diferentes cargas de trabajo y simplemente las comprometen con el tronco y las sucursales? ¿Este concepto de mantenedor es aplicable a un proyecto en el que trabajan varias empresas?¿La mejor práctica para mantener el código fuente bajo control de versión con varias compañías?

+0

¿Quiere decir que varias empresas trabajan en un mismo proyecto? – mouviciel

+0

Sí, eso es lo que quiero decir. – lastcosmonaut

+2

¿Hay un solo gerente de proyecto para este proyecto? Si es así, este chico decide qué parches aplicar. Si no, su problema parece más de organización que técnica. – mouviciel

Respuesta

0

Mi recomendación: subversion, con eso configurado obsequia una url y luego compra, actualiza, completa las tareas y cuando adivina que el proyecto está listo, captura y entrega.

+0

Estamos trabajando con subversion. Mi pregunta es acerca de cómo mantener su proyecto entre varias compañías. – lastcosmonaut

4

Puede elegir entre una amplia gama de sistemas de control de versiones. (No solo subversión) Con el concepto de "versionado", está seguro de que nadie daña el proyecto permanentemente. Por lo tanto, no es necesario un proceso de aprobación manual, especialmente cuando hay contratos, por ejemplo, entre las empresas participantes.

También configuré una lista de correo de compromiso para que tenga algún tipo de evaluación por pares de los cambios. Entonces, no se pueden hacer cambios sin que nadie se dé cuenta.

Si corresponde, configure algún tipo de entorno de integración continua para mantener la calidad.

No entiendo la pregunta sobre las ramas. La decisión de usarlos o no es en mi humilde opinión no depende del hecho de que los autores estén empleados en la misma empresa o no.

+0

La lista de correo de compromiso es algo interesante. – lastcosmonaut

1

Normalmente, cada sitio trabaja en su rama dedicada y puede importar la otra rama remota del sitio, para decidir qué integrar en su propio trabajo.

Pero si un sitio necesita trabajar directamente en la otra rama del sitio, una práctica posible es el concepto de membresía de rama que permite que solo un sitio a la vez trabaje en una rama determinada.
(no estoy seguro de que sea posible con SVN)

Eso permite que dos sitios remotos (con un gran turno de tiempo) trabajen en la misma tarea de una manera estrechamente integrada.

2

Depende de usted decidir qué flujo de trabajo funciona mejor para las empresas involucradas. Subversion tiene la capacidad de agregar permisos a su troncal y ramas, lo que le permite bloquear ciertas partes de su repositorio a personas que son "de confianza" con acceso combinado a troncal. Necesitará una buena comunicación entre las compañías. Usando el código abierto, Trac proporciona un wiki, feeds RSS integrados de los commits para el proyecto y el navegador de códigos.

Cuestiones relacionadas