人们怎么看待化石DVCS?

时间:2008-10-01 05:21:17

标签: dvcs fossil

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

我的想法是IDE支持。希望它会来,但我使用命令行就好了。

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

告诉我你的想法......

10 个答案:

答案 0 :(得分:174)

先生。 Millikin,如果你花点时间回顾一下有关化石的一些文件,我认为你的反对意见已在那里得到解决。在sQLite数据库中存储存储库可以说比任何其他方法都更安全。有关使用事务数据库存储存储库的一些优点,请参阅link text。至于膨胀:整个事情都在一个独立的可执行文件中,似乎反驳了这种担忧。

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

请注意,我写了化石,因为没有其他DVCS满足我的需求。另一方面,我的需求不是您的需求,因此只有您可以判断化石是否适合您。但我确实鼓励你至少看一下文档,并试着去解决化石在你解雇之前试图解决的问题。

答案 1 :(得分:44)

在使用Fossil超过一年的非平凡开发项目后,我有足够的信心投入这个主题。

以下是我迄今为止的经历。我有时会与git和svn进行比较,仅仅是因为我非常了解那些SCM并且比较使得我更容易理解它。

我完全爱上了这个SCM,所以它主要指向了这一点。

我喜欢化石:

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)集成的问题跟踪器和维基是可选的,显然,但非常方便,因为它始终存在 - 无需安装。我希望问题跟踪器有更多的功能,但是嘿 - 这是一个SCM。

7)内置服务器和web gui非常棒,可以通过css配置。

8)我们有时需要导入和导出git和subversion存储库。这在化石中是不费脑筋的。

9)单个文件库。整个地方都没有'.svn'目录。

我对Fossil的想法/不喜欢:

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

2)社区还不是那么大,所以很多人很难在公司中引入它。希望这会改变,获得大型社区的所有好处(文档,更多测试新版本等)

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

4)合并选项少于git(尽管Fossil工作流程首先使合并不太可能发生。)

我希望每个人都给Fossil一个跑步 - 世界是一个更好的地方,有正常工作并且你不需要成为一名火箭科学家使用。

答案 2 :(得分:13)

化石小巧,简单,强大而强大,让我想起了C文化的一些原则。那些独立发展并仍然合作的人可以选择。 任何伟大的项目都应该从原则开始,并在它收集更多层(GUI,额外功能)时继续它们的核心。

我对Fossil印象深刻并开始使用......看看fossil

欢呼声

答案 3 :(得分:12)

我在最后一篇文章的一年后登陆这个页面,这里提到的递归添加现在已经得到了解决。

Fossil让我很简单,特别是在我努力让bug跟踪系统与mercurial合作之后。我需要了解如何管理多个项目,发布存储库以进行多用户访问以及如何进行合并,管理补丁等。我感觉它不会令人失望。

答案 4 :(得分:7)

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

答案 5 :(得分:4)

达米安,

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

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

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

在Unix上。

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

此致 彼得

答案 6 :(得分:3)

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

答案 7 :(得分:1)

化石很好。它简单易用。如果化石可以提供GUI界面来签入和签出,那么它会更好(更喜欢java gui来存档跨平台的GUI)。

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

答案 8 :(得分:0)

我正在尝试你的vcs。 我喜欢全部集成的想法。毕竟,当我寻找像这样的系统时,我想要的就是我想要的。我是Mercurial的活跃用户。而且我找不到与问题跟踪器的集成(我尝试过去使用mercurial设置p Trac失败)。 经过一些测试,我意识到: 1)“add”命令不是递归的,或者我在doc中找不到这样做的方法 2)我写了一个蝙蝠(我使用Windows)添加750个文件,我运行它(它花了一段时间)。当一个运行提交时,它会以“明显格式错误”

跳转

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

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

问候

ps:作为市长的改进,你可以添加像gitstat

这样的东西

答案 9 :(得分:-9)

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