2009-05-06 19 views
6

Estoy buscando una buena solución de control de fuente. Aquí están los requisitos:¿Qué control de fuente deberíamos usar?

  1. Debe tener una GUI o tener un plug-in de GUI disponible.
  2. Debe ser libre.
  3. Debe funcionar con HTTP.

¿Qué control de fuente elegirías?

Antecedentes

Nuestro equipo de desarrollo .Net es parte de una matriz grande. Estamos en el proceso de adquirir VS Team System, sin embargo, la burocracia de una gran empresa se mueve lentamente y podrían pasar meses antes de que tengamos un servidor Team System en funcionamiento. Mientras tanto, tenemos un gran proyecto que se subcontratará a un proveedor en India. En el pasado, el proceso de nuestro equipo ha sido algo como esto: 1) especificar los requisitos, 2) dejar que el equipo indio cree la solución y 3) recibir la solución del proveedor un mes después.

Estamos buscando un enfoque más disciplinado y Team System es nuestra solución a largo plazo, sin embargo, me gustaría utilizar algo en este momento en lugar de nada.

Éstos son algunos de mis pensamientos:

  1. Source Safe es un no-go, debido a problemas de estabilidad.
  2. La facilidad de uso es más importante que las funciones avanzadas, como la bifurcación, y realmente quisiera que utilizara una GUI frente a las líneas de comando.
  3. El acceso HTTP es obligatorio, porque el equipo de desarrollo será remoto.

Información adicional como seguimiento a los comentarios hasta ahora

Necesitamos una solución libre, no porque no podemos permitir, pero debido a las políticas de compra corporativa de la compañía a retrasar conseguirlo. Gratis nos permite instalar en cualquier momento. Supongo que si fuera lo suficientemente barato, podría pagar de mi bolsillo, pero tendría que ser bastante barato.

final

Por desgracia, no las usamos ninguna de las recomendaciones. Finalmente obtuvimos una licencia de TFS, sin embargo, no se espera que tengamos autorización para usar el servidor hasta el próximo año. Mientras tanto, el equipo offshore carga archivos zip en un servidor ftp. Ugggghh! ¿Por qué es tan difícil convencer a las grandes empresas de que está bien usar soluciones no estándar (como GIT) en lugar de esperar meses (o años) mientras intentan decidir si una compra (en este caso TFS) es o no? vale la pena.

+0

¿Qué quiere decir con acceso HTTP? ¿Quiere decir: 1) Quiere poder registrar y registrar el código en una red utilizando los puertos HTTP o 2) ¿Desea navegar por el código fuente en la ventana de un navegador web? – Eyal

+0

Buena pregunta. Sería preferible poder ingresar y salir a través de HTTP, porque eso nos permitiría configurar y mantener el servidor aquí y permitir que el proveedor lo haga de forma remota. Aun así, una solución que solo brinde 2) aún sería una mejora sobre lo que tenemos hoy. – John

+0

Honestamente, no conozco un SCM comercial que tenga ventajas sobre los gratuitos, y los que he intentado trabajar parecen tener una serie de ventajas * dis *. –

Respuesta

25

Recomiendo Subversion y TortoiseSVN. Incluso el documentation para Subversion es gratis.

Editado para agregar: También recomiendo VisualSVN Server para configurar su repositorio SVN. La configuración fue muy fácil y fue tan libre de problemas que tuve que buscar para ver cómo se llamaba porque no tuve que tocarla una vez desde la configuración inicial.

+0

Subversion es sencilla, bastante fácil de usar y, sobre todo, mucha gente lo usa, por lo que hay una amplia documentación disponible en línea. Además, hay varios clientes diferentes de GUI y complementos para la mayoría de los IDEs más grandes (como Visual Studio, por ejemplo). –

+0

Subversion es el estándar de facto ... en estos días. Es genial. En caso de que esté utilizando Windows, adviértase que los nombres de los archivos de Subversion distinguen entre mayúsculas y minúsculas. De todos modos, SVN es fácil de usar y también se enamora. –

10

Piensa en un sistema distribuido: darcs, git, o mercurial. Todos tienen sus adeptos, pero operacionalmente son muy similares. Darcs puede tardar mucho tiempo en compilarse, porque está escrito en Haskell, y terminas necesitando construir Haskell primero. Mercurial está basado en Python, es fácil de hackear y extender. Y, por supuesto, git es lo que se usa para Linux, ampliamente disponible, muchas herramientas.

Subversion es, creo, más o menos la línea de base de SCM moderno; también sería una buena elección, pero te obliga a tener un servidor central fijo; o usted o sus colegas indios, tendrán que verificar y comprometerse con una tubería larga.

+0

Me encantaría saber para qué era el voto a favor. –

+1

Me gusta cómo esta respuesta proporciona más de una alternativa, y motiva cada opción con pros y contras en lugar de proporcionar una respuesta definitiva que puede o no ser lo que el solicitante estaba buscando. Vote por eso –

+0

Probablemente porque no puso a git primero en la lista. ¡Blasfemador! –

0

¿Has probado SVN y usando TortoiseSVN para la extensión de la concha?

1

Team Foundation Server es bastante fácil de usar y es fácil comenzar con una fuente segura (comparte una terminología común para los comandos). Sin embargo, con parte del desarrollo en India, es posible que conozcan mejor a Subversion.

Si usa Subversion, me gustaría ver VisualSVN. Es fantástico, fácil de usar y rápido de configurar (TFS es un poco complicado de configurar). VisualSVN ofrece un complemento IDE ($ 50) y una contraparte de servidor que inicia Subversion para máquinas Windows (gratis)

+0

TFS está muy, muy lejos de ser gratis. –

+0

ah, no noté la parte libre. –

+0

aunque es algo gratis, si tiene suscripción a MSDN de todos modos. –

0

I segundo SVN y TortoiseSVN.

Me mudé de CVS y WinCVS y estoy muy contento con esta configuración.

0

Recomendaría el control de fuente donde la mayoría de los miembros de su equipo tienen más experiencia o donde hay alguien en su equipo que es un experto.

En mi opinión, además de la interminable "git es mejor que Subversion es mejor que CVS" -discusión, no creo que las diferencias entre ellos es lo que importa.

Es más importante tener a alguien que realmente sepa cómo usar el sistema que decida usar.

1

Mi recomendación es Subversion + TortoiseSVN (para la integración de Explorer) + AnkhSVN (integración con Visual Studio).

Creo que no debe utilizar ninguno de los sistemas de control de versiones distributet porque después de eso tendrá que volver a uno centralizado que podría ser doloroso.

1

Como se mencionó SVN y Tortoise son el camino a seguir.

También obtendría una licencia para SVN visual (http://www.visualsvn.com/) no es gratis, pero es muy buena, usa Tortoise svn y le da sus funciones en el IDE.

0

Configuración de Subversion para el desarrollo .Net se ha vuelto más fácil.Puede comenzar por installing Visual SVN Server. Esto instalará Subversion Server en una máquina de Windows, lo ayudará a configurar su repositorio, autenticación, etc.

Luego, para la integración de Visual Studio con Subversion, puede probar VisualSVN, no es gratis, pero bien vale la pena la licencia. Pero si su presupuesto no lo permite, Ankhsvn también funciona bien, lo uso todos los días.

0

Tuve que tomar una decisión similar hace varios meses. Me gustó mucho SVN, pero la falta de GUI para la administración fue un gran problema para mi equipo. TFS era ideal, pero muy caro.

Decidimos cumplir la mitad y licencia SourceGear Vault. No cumple con su requisito de "gratis", desafortunadamente. Aunque encontré que es comparison with SVN interesante.

4

Subversion (SVN) es obviamente una opción popular. También es bastante utilizado ahora (Google Code, Sourceforge, etc.) por lo que debe haber mucha documentación sobre su uso. Git también es una buena opción, pero la falta de interfaces GUI disponibles hace que no se ajuste a sus requisitos tan bien.

Supongo que estás usando .NET que estás desarrollando principalmente en un entorno Windows. Mira los productos de VisualSVN. Constituyen un gran producto de servidor (GRATUITO) para ejecutar realmente un servidor svn completo en un entorno de Windows (es compatible con SSL, autenticación de grupo/usuario, incluida la compatibilidad con Active Directory).

También ofrecen un plugin de Visual Studio, aunque no es gratuito (aunque bastante razonable a $ 49/desarrollador). AnkhSvn es otra opción de complemento de cliente de Visual Studio. No es tan bueno, pero es gratis.

http://www.visualsvn.com/server/ - Libre de Windows SVN servidor

http://www.visualsvn.com/visualsvn/ - Visual Studio Client Plugin

http://ankhsvn.open.collab.net/ - Free Visual Studio Client Plugin

Por lo tanto, creo que la subversión mediante la oferta de productos de visualsvn se va a dar la mejor integración de windows/gui a un precio muy razonable.

2

SVN es una mierda bastante mala en HTTP en mi experiencia. Querrá sacarse el pelo si su repositorio es de un tamaño significativo, especialmente con un viaje transatlántico de ida y vuelta. Personalmente iría con Mercurial.

Google ha hecho recientemente algunos research en Git versus Mercurial. La mayor ventaja que tuvo Mercurial fue que jugó muy bien con HTTP.

TortoiseHg, aunque no es tan maduro como TortoiseSVN, es una GUI de Windows bastante sólida. Aunque mencionó que no está muy interesado en la bifurcación y la fusión, estas son actividades comunes en todos los DVCS. Afortunadamente porque son comunes, tienen un buen soporte en la interfaz de usuario y, en general, actividades indoloras.

0

Si está seguro de que va a Team System, entonces creo que hay una prueba de 180 días que puede usar. De esa forma, no tienes que cambiar.

+0

¿Alguien quiere decir por qué el voto a favor? No puedo aprender si no enseñas. –

1

Mercurial es genial y muy fácil.

0

Otro voto para SVN.
Para un servidor SVN liviano en ventanas, mire sliksvn. No hace la búsqueda de fuentes http, pero es una configuración mucho más pequeña y sencilla que los servidores basados ​​en Apache para grupos pequeños.

1

Dale una oportunidad a Mercurial. BitBucket tiene cuentas gratuitas con las que puedes jugar. He escrito más sobre por qué lo uso here.

Cuestiones relacionadas