124

化石http://www.fossil-scm.org
我最近发现了这个,并开始在我的家庭项目中使用它。我想听听其他人对这个 VCS 的看法。

我认为缺少的是 IDE 支持。希望它会来,但我使用命令行就好了。

关于化石我最喜欢的东西:带有内置 Web 服务器 wiki 和错误跟踪的单个可执行文件。存储库只是一个 SQLite ( http://www.sqlite.org ) 数据库文件,很容易在上面进行备份。我也喜欢我可以从中运行化石并将存储库保存在我的拇指驱动器上。这意味着我的软件开发已经变得完全可移植。

告诉我你的想法....

4

10 回答 10

186

Millikin 先生,如果您能花点时间回顾一下关于化石的一些文件,我想您的反对意见已经解决了。在 SQLite 数据库中存储存储库可以说比任何其他方法都更安全。有关使用事务数据库存储存储库的一些优点,请参阅链接文本。至于臃肿:整个事情都在一个独立的可执行文件中,这似乎反驳了这种担忧。

完全披露:我是化石的作者。

请注意,我写了化石,因为没有其他 DVCS 满足我的需求。另一方面,我的需要不是你的需要,所以只有你才能判断化石是否适合你。但我确实鼓励你至少看一下文档,并在你驳回它之前尝试理解化石试图解决的问题。

于 2008-10-03T13:48:23.180 回答
51

在使用 Fossil 一年多来进行重要的开发项目之后,我有足够的信心参与这个话题。

以下是我到目前为止的经验。我有时会与 git 和 svn 进行比较,仅仅是因为我非常了解这些 SCM,并且比较使我更容易理解这个想法。

我完全爱上了这个 SCM,所以它主要是优点。

我喜欢 Fossil 的地方:

  1. 我们有一堆机器(win/mac/一些 Linux 发行版),单可执行安装就像听起来一样漂亮。没有依赖关系;它只是工作。Git 是一堆乱七八糟的文件,Subversion 中的依赖地狱使得它在某些 Linux 发行版上非常讨厌,特别是如果你必须自己构建它。

  2. 默认的 Fossil 工作流程非常适合我们的项目,并且在需要时可以使用更多 git'ish 工作流程。

  3. 我们发现它非常强大,即使在大型项目中也是如此。我对编写 SQLite 的人不抱任何期望。没有崩溃,没有腐败,没有有趣的事情。

  4. 实际上,我对表现非常非常满意。在大树上不如 git 快,但也不会慢很多。我不必像 git 一样每隔一个命令就查阅文档,从而弥补任何损失的时间。

  5. 每个操作背后都有一个久经考验的事务数据库,这一事实让我晚上睡得更好。是的,我们经历过不止一个关于 Subversion 存储库陈旧和损坏的可怕事件(谢天谢地,一个乐于助人的社区帮助我们修复了它们。)我无法想象在 Fossil 中会发生这种情况。甚至 Subversion 1.7.x 现在也使用 SQLite 来存储元数据。(尝试在 git 提交期间关闭电源 - 它会留下损坏的存储库!)

  6. 显然,集成的问题跟踪器和 wiki 是可选的,但非常方便,因为它始终存在 - 无需安装。我希望问题跟踪器有更多的功能,但是嘿 - 它是一个 SCM。

  7. 内置的服务器和 web gui 非常出色,并且可以通过 css 进行配置。

  8. 我们有时需要从 git 和 subversion 存储库导入和导出。这在 Fossil 中是显而易见的。

  9. 单个文件存储库。到处都没有“.svn”目录。

我想念/不喜欢 Fossil 的地方:

  1. 有人请为我们的非技术 Windows 用户写 TortoiseFossil :)

  2. 社区还没有那么大,所以很多人可能很难在他们的公司中介绍它。希望这会改变,获得大型社区的所有好处(文档,对新版本的更多测试等)

  3. 我希望本地 web ui 具有搜索功能(包括搜索文件内容)。

  4. 与 git 相比,合并选项更少(尽管 Fossil 工作流程一开始就不太可能发生合并。)

我希望每个人都试一试 Fossil——世界是一个更美好的地方,有一些有用的东西,不需要成为火箭科学家就可以使用这些东西。

于 2012-08-19T17:13:40.203 回答
16

Fossil 小巧、简单,但功能强大且健壮,让我想起了 C 文化的一些原则。受到那些独立开发但仍然合作的人的喜爱。任何伟大的项目都应该从原则开始,并在收集更多层(GUI、额外功能)时将其作为核心继续。

我对 Fossil 印象深刻,并开始使用……看看化石

干杯

于 2010-10-10T14:37:35.367 回答
11

在上一篇文章发布一年后,我登陆了这个页面,这里提到的递归添加现在已经处理好了。

Fossil 让我着迷,特别是在我努力让一个错误跟踪系统与 mercurial 一起工作之后。我需要了解如何管理多个项目、发布存储库以供多用户访问以及如何进行合并、管理补丁等。我觉得这不会令人失望。

于 2010-01-20T10:06:50.313 回答
8

我对将它用于源代码版本控制不感兴趣,但我对可以在我使用的所有机器之间同步的分布式版本控制的个人 wiki 感兴趣。

于 2009-01-20T15:40:17.287 回答
4

达米安,

1/ 是的,fossil 不支持递归添加。但是有一些相当简单的解决方法,例如

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

在 Windows 上,以及

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

在 Unix 上。

2/ 当您在文件名中添加包含非 ASCII 字符的文件时,我看到了有关格式错误的清单的消息。该问题已在上次构建中得到纠正。

问候,彼得

于 2008-11-05T16:51:08.137 回答
3

我觉得化石真的很酷。对我来说最重要的功能是易于安装和对开发人员友好的默认设置。我目前使用它来跟踪我的文件的本地更改。(我们的项目托管在 sourceforge 中并在 CVS 中进行跟踪。)这样我可以在本地“提交”,即使它会破坏项目,因此也可以跟踪较小的更改。

于 2010-02-05T01:09:29.480 回答
1

化石不错。它简单易用。如果fossil可以提供GUI界面签入和签出,那就更好了(首选java gui归档跨平台GUI)。

Fossil 的主要优点是“开源”和“使用 SQLite 数据库”,因此有人可以编译化石源代码,使化石在 google android 平台(移动和平板设备)上工作。

于 2010-09-18T01:48:07.167 回答
0

我现在正在尝试你的 vcs。我喜欢将所有内容整合在一起的想法。毕竟,当我寻找这样的系统时,这就是我想要的。我是 Mercurial 的活跃用户。而且我找不到与问题跟踪器的集成(我过去尝试使用 mercurial 设置 p Trac 失败)。经过一些测试,我意识到:1)“添加”命令不是递归的,或者我在文档中找不到执行此操作的方法 2)我编写了一个 bat(我使用 Windows)来添加 750 个文件并运行它(花了一段时间)。当运行提交时,它会以“manifest malformed”跳转

我认为您可以解决这个问题,其他人可以在https://www.mercurial-scm.org/wiki/UserSurvey中进行类似 Mercurial 的调查。你可以在 dnoseda 的 gmail 给我写信

我对你的工作很感兴趣。不断改进它。

问候

ps.:作为市长改进,您可以添加类似 gitstat 的内容

于 2008-10-26T22:40:48.410 回答
-10

也许是没有受过教育的下意识反应,但是将存储库存储在像 SQLite 数据库这样的二进制 blob 中的想法让我感到恐惧。我也怀疑直接在 VCS 中包含 wiki 和 bug 跟踪器的好处——与 Trac 等完整软件相比,它们的功能不足,或者与 Subversion 或 Bazaar 相比,VCS 非常臃肿。

于 2008-10-03T05:30:02.467 回答