¿Qué piensa la gente sobre el DVCS fósil? [cerrado]


124

fósil http://www.fossil-scm.org
Encontré esto recientemente y comencé a usarlo para los proyectos de mi hogar. Quiero escuchar lo que otras personas piensan de este VCS.

Lo que falta en mi mente es el soporte IDE. Espero que llegue, pero utilizo la línea de comando muy bien.

Mis cosas favoritas sobre fósiles: ejecutable único con wiki de servidor web incorporado y seguimiento de errores. El repositorio es solo un archivo de base de datos SQLite ( http://www.sqlite.org ), fácil de hacer copias de seguridad. También me gusta que puedo ejecutar fósiles y mantener el repositorio en mi memoria USB. Esto significa que mi desarrollo de software se ha vuelto completamente portátil.

Dime que piensas....


Eso se ve muy interesante. ¿Sabes si hay alguna herramienta para empujar / tirar hacia / desde git, mercurial o svn?
Thilo

Encontré un enlace en la wiki de fósiles. Realmente no he mirado esto. Alguien que necesite esta función, eche un vistazo y comente: < fossil-scm.org/index.html/wiki?name=Import+CVS+Repositories >
javelinBCD


3
Fossil ha agregado la importación y exportación de GIT ... fossil-scm.org/index.html/doc/trunk/www/inout.wiki
javelinBCD

@javelinBCD: FYI Git no es un acrónimo
error

Respuestas:


182

Sr. Millikin, si se toma unos minutos para revisar parte de la documentación sobre fósiles, creo que sus objeciones se abordan allí. Almacenar un repositorio en una base de datos sQLite es posiblemente más seguro que cualquier otro enfoque. Consulte el texto del enlace para conocer algunas de las ventajas de utilizar una base de datos transaccional para almacenar un repositorio. En cuanto a la hinchazón: todo está en un solo ejecutable autocontenido que parece refutar esa preocupación.

Divulgación completa: soy el autor de fósiles.

Tenga en cuenta que escribí fósiles porque ningún otro DVCS satisfizo mis necesidades. Por otro lado, mis necesidades no son las tuyas, por lo que solo tú puedes juzgar si los fósiles son adecuados para ti. Pero lo aliento a que al menos eche un vistazo a la documentación e intente comprender el problema que fósil está tratando de resolver antes de descartarlo.


43
Fossil se ve muy bien, buen trabajo.
Greg Hewgill

77
Las características proporcionadas por fósiles que no se obtienen con otros DVCS incluyen: - Wiki integrado. - Seguimiento de errores integrado - Artefactos inmutables - Ejecutable autónomo e independiente que se puede ejecutar en una cárcel chroot - Formato de archivo simple, bien definido y duradero - Interfaz web integrada
A.Bouchez

71
Revelación completa : también es el autor de SQLite;)
Alan Plum

18
+1 para esta parte de tu respuesta: "Por otro lado, mis necesidades no son las tuyas, por lo que solo tú puedes juzgar si los fósiles son adecuados para ti". Tuve una formación en Gestión de Calidad y definieron la calidad como "Adecuación al propósito". ¡Su respuesta apunta directamente en la misma dirección!
sergiol

1
@pluma, comencé a tener intereses en Fossil desde que escuché que está hecho por el desarrollador de Sqlite, el Sr. D Richard Hipp :) Incluso si no lo he usado, me imagino que es liviano y robusto.
Edwin Yip

47

Después de haber utilizado Fossil durante más de un año en proyectos de desarrollo no triviales, me siento lo suficientemente seguro como para dedicarme a este tema.

Debajo está mi experiencia hasta ahora. Estoy comparando contra git y svn a veces, simplemente porque conozco muy bien esos SCM y la comparación me facilita la idea.

Estoy totalmente enamorado de este SCM, por lo que se trata principalmente de puntos positivos.

Lo que me gusta de Fossil:

1) Tenemos un montón de máquinas (win / mac / varias distribuciones de Linux), y la instalación de un solo ejecutable es tan hermosa como parece. Sin dependencias; Simplemente funciona. Git es una pila desordenada de archivos y el infierno de la dependencia en Subversion lo hace muy desagradable en algunas distribuciones de Linux, especialmente si debe compilarlo usted mismo.

2) El flujo de trabajo de Fossil predeterminado se adapta perfectamente a nuestros proyectos, y es posible que haya más flujos de trabajo git'ish cuando sea necesario.

3) Lo hemos encontrado extremadamente robusto, incluso en grandes proyectos. No esperaría nada más de los chicos que escribieron sqlite. Sin accidentes, sin corrupción, sin negocios divertidos.

4) En realidad estoy muy, muy contento con el rendimiento. No tan rápido como git en árboles enormes, pero tampoco mucho más lento. Aprovecho el tiempo perdido al no tener que consultar la documentación cada otro comando, como es el caso con git.

5) El hecho de que haya una base de datos transaccional probada y verdadera detrás de cada operación me hace dormir mejor por la noche. Sí, hemos pasado por más de un horrible incidente de depósitos de Subversion obsoletos y corruptos (afortunadamente, una comunidad útil nos ayudó a solucionarlos). No puedo imaginar que eso suceda en Fossil. Incluso Subversion 1.7.x usa Sqlite ahora para el almacenamiento de metadatos. (Intenta apagar el sistema en medio de un git commit, ¡dejará un repositorio corrupto!)

6) El rastreador de problemas integrado y el wiki son opcionales, obviamente, pero muy prácticos ya que siempre están ahí, no requiere instalación. Sin embargo, desearía que el rastreador de problemas tuviera algunas características más, pero bueno, es un SCM.

7) El servidor incorporado y la GUI web son simplemente brillantes y bastante configurables a través de CSS.

8) A veces necesitamos importar hacia y desde repositorios de git y subversion. Esto es obvio en Fossil.

9) Depósito de un solo archivo. No hay directorios '.svn' en todo el lugar.

Lo que extraño / no me gusta de Fossil:

1) Alguien escriba TortoiseFossil para nuestros usuarios no técnicos de Windows :)

2) La comunidad aún no es tan grande, por lo que probablemente sea difícil para muchas personas introducirla en su empresa. Esperemos que esto cambie, obteniendo todos los beneficios de una gran comunidad (documentación, más pruebas de nuevos lanzamientos, etc.)

3) Desearía que la interfaz de usuario web local tuviera una función de búsqueda (incluida la búsqueda de contenido de archivo).

4) Menos opciones de fusión que en git (aunque el flujo de trabajo de Fossil hace que sea menos probable que ocurra la fusión).

Espero que todos le den una oportunidad a Fossil: el mundo es un lugar mejor con cosas que simplemente funcionan y que no necesita ser un científico espacial para usar.


2
Olvidé mencionar que TortoiseFossil probablemente llegará algún día, pero por ahora tenemos code.google.com/p/fuel-scm .
Grand Johnson


2
Hay una receta para agregar un cuadro de búsqueda de tickets que funciona realmente bien. Hace uso de las posibilidades de secuencias de comandos TH1 que ofrece fósiles
FvD

La herramienta fuel-scm había sido trasladada a fuel-scm.org/fossil/index . Otro enfoque es aprovechar el IDE de Visual Studio si se está utilizando para un proyecto relacionado con Windows. Ver documentación en fossil-scm.org/xfer/doc/trunk/www/fossil-from-msvc.wiki
g5thomas

Solo curiosidad: ¿ha cambiado algo los últimos años?
jno

14

Fossil es pequeño, simple, pero potente y robusto, me recuerda algunos principios de C Culture. Agradable para aquellos que se desarrollan independientemente y aún colaboran Cualquier gran proyecto debe comenzar con principios y continuarlos en su núcleo a medida que reúne más capas (GUI, características adicionales).

Estoy impresionado con Fossil y estoy comenzando a usarlo ... mira el fósil

salud


11

Estoy aterrizando en esta página después de un año de la última publicación, ahora se soluciona el complemento recursivo que se ha mencionado aquí.

Fossil me hipnotiza con simplicidad, especialmente después de que luché para que un sistema de seguimiento de errores funcionara con mercurial. Necesito ver cómo administrar múltiples proyectos, publicar los repositorios para acceso multiusuario y cómo hacer una fusión, administrar parches, etc. Tengo la sensación de que no será decepcionante en el futuro.


7

No estoy interesado en usarlo para el control de versiones de código fuente, pero estoy interesado en un wiki personal controlado por versión distribuido que pueda sincronizar entre todas las máquinas que uso.


4

Damian

1 / sí, los fósiles no admiten adiciones recursivas. Sin embargo, hay algunas soluciones simples, como

for /r %i in (*.*) do fossil add "%i"

en Windows y

find . -type f -print0 | xargs -0 fossil add --

en Unix

2 / Vi el mensaje sobre manifiesto con formato incorrecto cuando está agregando un archivo con caracteres no ASCII en el nombre del archivo. El problema se corrigió en la última compilación.

Saludos, Petr


2
Siempre puede usar PowerShell en Windows y hace que este tipo de línea de comando funcione mucho más agradable.
javelinBCD

14
En Linux / Unix / Mac OS XI solo hago 'agregar fósiles'. y agrega todo, todos mis subdirectorios y todo
Trausti Thor

2
'fossil addremove' también es totalmente recursivo en todas las plataformas. La publicación anterior probablemente esté desactualizada.
FvD

1
Sí, esta publicación está obsoleta
Johannes Kuhn

3

Creo que los fósiles son realmente geniales. La característica más importante para mí fue la fácil instalación y los valores predeterminados amigables para el desarrollador. Actualmente lo uso para realizar un seguimiento de los cambios locales de mis archivos. (Nuestro proyecto está alojado en sourceforge y se realiza un seguimiento en CVS). De esta manera, puedo "comprometerme" localmente, incluso si de otro modo interrumpiría el proyecto, de modo que los cambios más pequeños también se pueden realizar.


1

El fósil es bueno. Es simple y fácil de usar. Si fósil puede proporcionar una interfaz GUI para registrarse y salir, entonces sería mejor (prefiera java gui para archivar la GUI multiplataforma).

Las principales ventajas de Fossil son "código abierto" y "usar la base de datos SQLite", por lo que alguien puede compilar el código fuente fósil para hacer que el fósil funcione en la plataforma Android de Google (dispositivos móviles y tabletas).


0

Estoy probando tus vcs ahora mismo. Me gusta la idea de tener todo integrado. Después de todo, es todo lo que quiero cuando busco un sistema como este. Soy un usuario activo de Mercurial. Y no pude encontrar una integración con un rastreador de problemas (intenté sin éxito configurar p Trac con mercurial en el pasado). Después de algunas pruebas, me doy cuenta de que: 1) el comando "agregar" no es recursivo, o no puedo encontrar en el documento una forma de hacerlo 2) escribo un murciélago (trabajo con Windows) para agregar 750 archivos y lo ejecuto (se tomó un tiempo). Cuando una confirmación de ejecución salta con "manifiesto malformado"

Creo que podría abordar estos problemas y otros haciendo una encuesta como la de Mercurial en https://www.mercurial-scm.org/wiki/UserSurvey . podrías escribirme a dnoseda en gmail

Estoy interesado en tu trabajo. sigue mejorando.

Saludos

ps .: como una mejora importante, podría agregar algo como gitstat


3
(No soy un desarrollador fósil, solo un usuario) 1. tiene un rastreador de problemas (es autohospedaje) 2. la carpeta de agregar fósiles es recursiva (ignora los archivos / carpetas con los principales '.') Lo utilicé anoche para hacer un repositorio local de fósiles de plt-scheme.org tronco de subversión de sin problema 3. La lista de correo está activa y el desarrollador responde muy bien, y no parece estar demasiado lleno en este momento. También está el rastreador de problemas, que no he necesitado usar ya que Fossil no ha tenido errores.
Stephen

1
Fogbugz (seguimiento de errores) funciona con Kiln (un repositorio en línea para Mercurial), ambos proporcionados por Fogcreek
Toby Allen

-9

Tal vez una reacción instintiva sin educación, pero la idea de almacenar un repositorio en un blob binario como una base de datos SQLite me aterra. También tengo dudas sobre los beneficios de incluir wikis y rastreadores de errores directamente en el VCS, ya sea que no cuentan con las características suficientes en comparación con el software completo como Trac, o el VCS está muy hinchado en comparación con Subversion o Bazaar.


21
SQLite no es "un blob binario". Es un formato de archivo realmente abierto, multiplataforma y bien documentado. Como SQLite es la base de datos más utilizada, siempre será compatible con ella en el futuro. Y el almacenamiento de artefactos utilizados en fósiles también es eficiente, bien documentado y fácil de leer. SQLite es uno de los mayores proyectos de código abierto en la actualidad, y está alojado utilizando fósiles.
A.Bouchez

3
Para obtener una forma rápida y fácil de interactuar con un sqlite db, incluida la exportación, consulte el código de
matt wilkie

8
Todos los DVCS por ahí son "blobs binarios" cuando miras sus repositorios. El último no binario fue CVS ... También tuve reservas, pero las superé.
Jürgen A. Erhard

2
"Fossil no se basa en SQLite. La implementación actual de Fossil usa SQLite como un almacén local para el contenido de la base de datos distribuida y como caché para metainformación sobre la base de datos distribuida que se calcula previamente para una presentación rápida y fácil. Pero el uso de SQLite en este rol es un detalle de implementación y no es fundamental para el diseño ". www.sqlite.org/debug1/doc/trunk/www/theory1.wiki
Gulbahar
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.