trucos tag qué que name hace conectar con commits commands comentarios git version-control darcs

tag - ¿Por qué darcs en lugar de git?



qué es un branch en git (3)

El uso de lenguajes puramente funcionales puede tener muchos beneficios sobre el uso de imperativos impuros, pero los lenguajes de sistemas de bajo nivel generalmente le permitirán lograr un rendimiento mucho mayor, especialmente cuando son imperativos porque le permite especificar los pasos exactos en la forma en que la CPU debe calcular el resultado.

Si alguna vez hay una lista de herramientas donde el alto rendimiento es una necesidad absoluta, entonces pondría a VCS en la parte superior de esa lista, y Git logra esto muy bien. Sin embargo, el rendimiento no es la única ventaja de git sobre muchos otros tipos de sistemas de control de versiones.

El equipo de git está manejando el código c no seguro muy bien, y nunca me preocupo por mi sistema de tipos (o cualquier otra característica del lenguaje en el que está escrito), ¿por qué es que hay muchos desarrolladores de haskell que deben usar darcs? ¿Cuándo solo van a utilizar el producto terminado?


Creo que, en general, ciertas comunidades de usuarios gravitarán hacia una tecnología u otra. Esto es especialmente cierto si una tecnología utiliza el lenguaje de la comunidad. También es posible (aunque no tengo idea) que el autor y / o los usuarios iniciales de Darcs fueran desarrolladores de Haskell bastante conocidos, por lo que tienen más influencia.

Hay otros ejemplos, como Mercurial parece ser más popular en la comunidad de python mientras que otros idiomas parecen usar Git.

Una vez que esté utilizando un software en particular, puede que no valga la pena cambiar a otro, incluso si hay ventajas.

Sinceramente, usa lo que más te guste. En este punto, es casi un requisito tener instalado hg, git y svn y saber lo básico para usarlos. Si está utilizando Haskell, parece que probablemente necesite agregar Darcs a esta lista.


Darcs gestiona colecciones de parches en lugar de la historia cronológica. Más sobre esto está en la página wiki de darcs que documenta las diferencias con Git . Esta diferencia se ilustra mediante la capacidad de darcs para extraer parches interactivamente, fuera de orden. Por ejemplo, podría extraer todos los parches con un título de confirmación que coincidía con un número de ticket desde "desarrollo" a "prueba". Darcs se aseguraría automáticamente de que las demás páginas de las que dependían estos parches también fueran eliminadas. Con esta característica clave, es posible que necesite muchas menos sucursales y repositorios para mantener. Mientras que en Git es muy útil crear una sucursal antes de trabajar, en Darcs eso no suele ser motivo de preocupación, siempre que proporcione el mismo número de boleto a sus compromisos relacionados. Utilicé un flujo de trabajo basado en esto ampliamente con un proyecto de LoC de 100,000k. Además de esa diferencia técnica, darcs es muy fácil de usar. Hay menos comandos y la mayoría son interactivos de forma predeterminada, que le preguntan qué hacer.

Debido a las fortalezas y facilidad de uso de darcs, lo prefiero mucho más que a git, que también uso regularmente para proyectos de código abierto. Darcs es fácil de usar y, aunque tenga que aprender git para contribuir con algunos proyectos, aún puede disfrutar y beneficiarse del uso de darcs en otros proyectos en los que tenga opciones.


Parece que estás insinuando que git y darcs son equivalentes (o incluso similares) distintos del lenguaje de implementación.

Si ha usado ambos, se dará cuenta de que esta pregunta no tiene sentido. Si no ha utilizado ambos, la respuesta a la pregunta tiene un requisito previo obvio de conocimiento de ambos.

Darcs existe. Eso es suficiente justificación para que exista y se use. Si te gusta, tú también puedes ser usuario. Si no te gusta, sabrás por qué elegiste otra cosa.