Code Version System advice

Tengo que instalar un sistema de control de versiones de código para un proyecto. Me gustaría tener dos twigs, una pública y otra privada; cada twig tiene su propio set de usuarios. Me gustaría escribir algunos enlaces para la twig privada: cuando un desarrollador confirma el código en la sucursal, algunos files se copyn en otra location (similar a una operación de implementación). Además, me gustaría tener una interfaz web para los repositorys.

¿Qué software me recomiendas para estos requisitos? ¿SVN es un buen candidato?

LE El sistema operativo es GNU / Linux y prefiero una solución de código abierto.

Gracias,

No funcionará (muy bien) con SVN (tener una sucursal privada y pública).

Lo que puedes hacer es usar un software de control de versiones distribuidas: git, mercurial, bazaar, fósil … tienes opción. mercurial podría ser más fácil de aprender y podría ser una buena introducción al concepto de repositorys distribuidos.

En esos sistemas, tiene un repository de historial completo en su computadora, y puede ponerlo en otro lugar (tal vez en línea en un acceso público) como un clon de él. Usted trabaja en su repository local (incluso puede tener varios) y luego se compromete en local. Cada compromiso no se moverá de su repository, permanecerá allí.

Hasta que tire de o empuje a otros repositorys. Esas son transactions (push / pull) de cambios entre repositorys (los tuyos, un clon de los tuyos con algunas modificaciones especiales, un repo de un amigo, un repository de compañero de equipo, un repo de equipo de desarrollo, un repository público, lo que quieras).

Como la organización es gratuita, en su caso específico, ciertamente desea tener un repository de equipo privado en algún lugar donde sus compañeros de equipo obtendrán y realizar cambios, y otro repository público (tal vez en bitbucket.org, o github.org si elige git) eso no se moverá hasta que decida impulsar los cambios en su repo de equipo en el repository público.

Actualmente, estoy estableciendo exactamente eso para un proyecto.

Subversion es mi voto. Tengo una configuration similar con un tronco para las tags principales de desarrollo y lanzamiento que tienen ganchos de implementación para enviar files a un server web remoto. Websvn le permite ver los repositorys a través de su browser o puede usar una solución más rica en características como Redmine para realizar el seguimiento de problemas, así como una GUI para el repository.

SVN es bastante estelar

Dependiendo de su nivel de habilidad también hay GIT / cvs. Pero si tienes una opción definitivamente ir con SVN también es posible que quieras tomar Tortiese svn ya que la GUI es bastante buena