2009-09-18 10 views
14

¿Qué sistema de control de versiones recomendaría usted para:Bazar, Mercurial u otro para control de versión de usuario único?

  • solo usuario
  • buscando simple, fácil de usar
  • generalmente pequeños proyectos sencillos
  • trabajando en ventanas
  • general de codificación pitón
  • no servidor

El uso sería más encontrar código antiguo que situaciones complicadas de ramificación.

Desde otras publicaciones similares, Bazar y Mercurial parecen ser los mejores sistemas de control de versiones distribuidas para mis necesidades. Estoy algo inclinado hacia Bazar, ya que parece más simple.

La principal queja que leí sobre Baazar fue que era lenta, pero que la velocidad se mejoraría en la versión 2, que se lanzará este verano. La nueva versión aún no se ha lanzado, pero hay un 2.0.0rc2.

Me pregunto si algo ha cambiado recientemente o si alguien tiene algún sentimiento fuerte sobre el tema.

EDITAR: Después de leer las respuestas y explorar algunas alternativas, voy con Bazar, al menos por el momento. Para mis necesidades, los productos mencionados parecían bastante similares. Bazaar tiene documentación específicamente dirigida a un desarrollador en solitario y parece bastante fácil de usar. Otros parecen más dirigidos a grupos o aquellos con servidores centrales. Otros sistemas pueden ser tan buenos, pero pensé que comenzar a usar algo era más importante que pasar el tiempo tratando de encontrar el programa perfecto.

¡Gracias a todos!

(¿Debería haber escrito esto como una edición, una respuesta o un comentario?)

Respuesta

6

Bazaar es muy bueno para sus necesidades, y dudo que haya encontrado problemas de velocidad con sus proyectos. Bazaar tiene una interfaz gráfica de usuario muy bonita llamada Bazaar Explorer que recomiendo sobre TortoiseBzr. (Bazar Explorer se incluye en el instalador estándar 2.0.)

Por supuesto, si eliges Mercurial no pierdes mucho.

Así que será mejor que pruebe uno y otro y haga su elección. Cada fanático te recomendará su favorito.

5

Si usted es un usuario de Windows, nada puede vencer a la OMI TortoiseSVN en términos de usabilidad y facilidad de uso.

+4

+1. No se requiere servidor, también. –

+7

No se requiere servidor? Tal vez me perdí algo, pero hasta donde sé SVN requiere un servidor para ejecutar a diferencia de los sistemas de control de versión distribuida (también conocido como Bzr y Mercurial). –

+0

Estoy de acuerdo con Martin. SVN requiere un servidor – exhuma

16

Si solo es un desarrollador individual que trabaja en proyectos pequeños, cualquier sistema de control de versiones debe ser lo suficientemente rápido.

Soy desarrollador de Mercurial y por supuesto lo recomendaré :-) Me gusta cómo Mercurial tiene un concepto central: el gráfico de changeset. El gráfico reside dentro de un repositorio (un clon). Puede tener varias líneas de desarrollo en el mismo clon. Esto puede ser en forma de varias cabezas, tal vez marcadas con el bookmarks extension o como ramas con nombre. También puede usar varios clones para mantener las cosas separadas, o puede ir y venir: es fácil separar un clon combinado (use hg clone -r REV para obtener parte del gráfico de revisión). Consulte esto blog post para imágenes bonitas.

Para Windows (y otras plataformas también) tiene TortoiseHg, que le ofrece una interfaz gráfica muy agradable. TortoiseHg también se integra con muchos complementos excelentes para Mercurial, en particular el record extension, que le permite elegir cambios individuales de un archivo cuando se compromete. Con eso, puede editar varios archivos y luego confirmar esos cambios como varios conjuntos de cambios independientes.

Por último, también debe saber acerca de Mercurial: The Definitive Guide, el libro en línea gratuito sobre Mercurial.

+2

¡Oye, sigue tranquilo! Si no entiendes los "conceptos divertidos" de Bazar, no significa que puedas tratarlos como algo malo. – bialix

+0

Estoy usando Mercurial para todo lo que hago que necesita un poco de control de versiones. Es bastante simple, y el TortoiseHG es realmente un placer para trabajar con (IMHO) – edomaur

+0

ídem para Mercurial. Me pareció mucho más fácil calentar que los demás y también lo uso para casi todo lo que necesita Control de versiones. Usar un servicio alojado como Kiln también significa una copia de seguridad adicional fuera del sitio. –

3

He utilizado SVN, Git y Bzr bastante extensamente en varios proyectos diferentes. Actualmente estoy usando Bzr en un único proyecto de usuario y es muy fácil de configurar y usar. No es necesario configurar un servidor y viene con TortoiseBzr que funciona bien, puede que no sea una función completa como TortoiseSVN, pero para un proyecto de un solo hombre, debe tener todo lo que necesita. Faltan algunas cosas, como la capacidad de revisión de etiquetas, en cuyo caso debe recurrir a la interfaz de línea de comandos. Consideré a Mercurial hace aproximadamente un año, pero aún no lo he utilizado en una situación real, así que no podría comparar. Decidí no hacerlo porque TortoiseHG no parecía muy maduro en ese momento, espero que haya mejorado desde entonces.

1

He estado utilizando Bazaar por un tiempo y estaba muy contento con él. Con todo el bombo sobre git, lo probé. Y a pesar de que tiene conceptos bastante complejos, solo puedo decir que valió la pena el cambio. Ahora lo uso para todos mis proyectos. No importa que tan pequeño. Y creo que TortoiseGit se ha vuelto lo suficientemente bueno para ser utilizable.

puedo ver los siguientes puntos buenos en ello:

  • Es rápido
  • ramas y la mezcla es tan simple que incluso se podría decir que es divertido
  • Tiene comandos cobardes que no he visto en ningún else (f.ex .: stash y rebase)
  • Está publicitado. En consecuencia, la comunidad es muy activa y se puede encontrar una gran cantidad de material en él
  • Puede obtener una copia de gitorious para gestionar sus proyectos de forma privada

Algunas cosas que no me gustan tanto:

  • pantalla sucursal en gitk "siente" extraño para mí
+0

Al igual que Mercurial, Git usa los valores hash SHA-1, no MD5 (MD5 está muy roto por ahora y no debería usarse más). –

+1

Utilicé git durante aproximadamente 4 meses en la empresa en la que trabajé (hace aproximadamente 1 año). En ese momento no había TortoiseGIT, así que es agradable de ver. Encontré que el soporte de Git en Windows era bastante pobre, no tenía soporte oficial para Windows. Debía compilarlo usted mismo o descargarlo de un sitio web de un tercero. También hubo un desagradable error en que si un archivo estaba siendo utilizado por otro proceso (por ejemplo, Visual Studio) mientras GIT estaba haciendo algo, podrías terminar en un estado corrupto que podría tomar mucho tiempo en desaparecer para arreglarlo. Aconsejaría en contra de esto para los usuarios de Windows. –

+0

Además, a diferencia de Git, Mercurial tiene un número de revisión local para cada conjunto de cambios, por lo que no tiene que ingresar números hexadecimales extraños para especificar confirmaciones. –

0

utilizo git y funciona muy bien para mí. Yo uso msysgit en Windows.

0

Recomendaré siempre Git. Es rápido, no necesita servidor, la bifurcación y la fusión es excelente. Para Windows necesita obtener MsysGit.

Mercurial es también muy bueno con una interfaz un poco más fácil para el usuario.

2

Me gusta bastante darcs, usa algo llamado teoría de parches que, hasta donde yo sé, es único en el software de control de versiones.

+0

He oído (y leído) que tiene algunos problemas de rendimiento crítico y tamaño de repositorio si va más allá de un proyecto pequeño con un historial no demasiado largo. –

+0

La mayoría de estos problemas deberían desaparecer con la versión 2. Aunque tiene pocas posibilidades de encontrarse con una operación de tiempo exponencial. –

4

Definitivamente Subversion ....

Es gratis, muy fácil de configurar y usar, no requiere un servidor porque puede acceder al sistema de archivos local, y puede encontrar montones y montones de documentación y ayuda si se queda atascado porque creo que hay hay muchas más personas que usan SVN que bazar o git, por ejemplo ...

Puede descargar TortoiseSVN (http://tortoisesvn.tigris.org/) al comenzar a usarlo .... No se requiere nada más para comenzar porque tortoisesvn tiene subversión incorporada- en creo ....

+0

¡Guau, tuve Tortuga y no sabía que era tan simple crear un repositorio local! Gracias, voy a crear muchos de ellos ahora ... :-) –

4

He jugado un poco con todos ellos.

Lo más importante que me ha atraído de Bazar es su flexibilidad.

¿Desea operar en modo centralizado (ala SVN)? Usted puede hacer eso. ¿Desea operar en modo distribuido (ala Mercurial o git)? Usted puede hacer eso.

Y aquí es donde se pone mejor: puede hacer ambas cosas. Digamos que estás trabajando con un tipo que vino de SVN y simplemente no le gusta el concepto distribuido un poco. Multa. Permita que trabaje en modo centralizado mientras el resto del equipo trabaja en modo distribuido. Si está fuera del repositorio central, puede incluso llevar su pago fuera de línea y realizar compromisos fuera de línea mientras él no está. Entonces él puede comprometerlos a todos cuando regrese.

Mientras que algunos de los otros sistemas tienen formas de aproximarse a diferentes modelos, ninguno parece tan comprometido con la flexibilidad como bazar.

+0

... y tampoco puedes hacer eso con Mercurial y Git ... ¿por qué, otra vez? Trabajar en modo centralizado es más una convención y es ofrecido convenientemente por todos ellos. – 0xC0000022L

+0

@ 0xC0000022L Mi respuesta fue escrita hace 4 años, cuando git estaba un poco adelantada en términos de popularidad, Mercurial estaba muy cerca segundo, y Bazaar estaba un poco detrás de los otros dos. Sin embargo, todas eran opciones razonablemente buenas. Sin embargo, en el mundo de hoy, ya no es un concurso. Git es el más popular por mucho, Mercurial es otra opción sólida, y el soporte de Bazaar ha sido descontinuado. – wadesworld

+0

sí, pero de vez en cuando puede hacer estas cosas con todos ellos. No creo que "algunos de los otros sistemas tengan formas de aproximar diferentes modelos", ¿es justo? Pero de cualquier manera, no hay razón para menospreciarme, así que simplemente comencé. – 0xC0000022L

Cuestiones relacionadas