人们如何看待化石DVCS?[关闭]


124

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

我心中缺少的是IDE支持。希望它会来,但是我使用命令行就可以了。

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

告诉我你的想法....


看起来真的很有趣。您知道是否有任何工具可以从git,mercurial或svn推入/拉出吗?
Thilo

我在化石维基上找到了一个链接。我还没有真正看过这个。需要此功能的人请看一下并发表评论:< mosaic-scm.org/index.html/wiki?name=Import+CVS+Repositories >
javelinBCD


3
化石增加了GIT的导入和导出... Fossil-scm.org/index.html/doc/trunk/www/inout.wiki
javelinBCD 2010年

@javelinBCD:FYI Git并非首字母缩写
错误

Answers:


182

米利金先生,如果您花一点时间来复习有关化石的一些文件,我认为您的反对意见在那里得到解决。可以说,将存储库存储在sQLite数据库中比任何其他方法都更安全。有关使用事务数据库存储存储库的某些优势,请参见链接文本。至于膨胀:整个事情都在一个独立的可执行文件中,这似乎证明了这种担忧。

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

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


43
化石看起来很棒,做得很好。
2008年

7
化石提供的功能是其他DVCS所不具备的:-集成Wiki。-集成的错误跟踪-不可变的工件-可以在chroot监狱中运行的自包含,独立的可执行文件-简单,定义明确,持久的文件格式-集成的Web界面
A.Bouchez 2010年

71
完全披露:他也是SQLite的作者;)
Alan Plum

18
+1:“另一方面,我的需求不是您的需求,因此只有您可以判断化石是否适合您。” 我接受了质量管理方面的培训,他们将质量定义为“达到目的”。您的答案指向正确的方向!
sergiol 2011年

1
@pluma,因为听说Fossil是由Sqlite的开发人员D. Richard Hipp先生制成的,所以我开始对Fossil感兴趣:)即使我没有使用过它,我也可以想象它的轻巧性和坚固性。
Edwin Yip)

47

在使用Fossil进行非平凡的开发项目已有一年多的时间之后,我感到有足够的信心对此主题进行投入。

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

我完全爱上了该SCM,因此,它在大多数方面都具有优势。

我喜欢Fossil:

1)我们有一堆机器(win / mac /许多Linux发行版),并且单可执行安装听起来很漂亮。没有依赖关系;它只是工作。Git是一堆杂乱的文件,Subversion中的依赖地狱使它在某些Linux发行版上非常讨厌,尤其是如果您必须自己构建它时。

2)默认的Fossil工作流程非常适合我们的项目,并且在需要时可能会有更多混乱的工作流程。

3)即使在大型项目中,我们也发现它极其强大。我不会期望那些写sqlite的人有其他事情。没有崩溃,没有腐败,没有有趣的事情。

4)我对表现真的非常非常满意。在巨大的树上速度不及git,但也没有那么慢。我不必像其他git一样去查阅文档来弥补任何浪费的时间。

5)每个操作背后都有一个经过尝试的真实事务数据库,这一事实使我在晚上睡得更好。是的,我们经历了不止一次的可怕事件,即陈旧和损坏的Subversion存储库(很幸运,一个有用的社区帮助我们修复了它们。)我无法想象化石会发生这种情况。甚至Subversion 1.7.x现在也使用Sqlite进行元数据存储。(尝试在git commit期间关闭电源-它将留下损坏的存储库!)

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

7)内置的服务器和Web GUI非常出色,并且可以通过CSS进行配置。

8)有时我们需要从git和subversion仓库导入。这在化石方面不费吹灰之力。

9)单个文件存储库。没有'.svn'目录到处都是。

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

1)有人请为非技术Windows用户写TortoiseFossil :)

2)社区还不算大,所以很多人可能很难在公司中介绍它。希望这种情况会改变,从而获得大型社区的所有好处(文档,对新版本的更多测试等)

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

4)合并选项比git少(尽管Fossil工作流使合并的可能性降低了。)

我希望每个人都可以让化石一路奔跑-世界上有一个可以运作的东西,而您不需要成为火箭科学家就可以使用,这是一个更好的地方。


2
忘了提及TortoiseFossil可能会在某一天到来,但目前我们有code.google.com/p/fuel-scm
约翰逊


2
有一个添加票证搜索框的方法,它的确非常有效。它利用了化石提供的TH1脚本编写可能性
FvD

fuel-scm工具已移至fuel-scm.org/fossil/index。另一种方法是在与Windows有关的项目中使用Visual Studio IDE。请参阅化石上的
g5thomas

只是好奇:去年有什么变化吗?
jno

14

化石小巧,简单,功能强大,坚固耐用,使我想起了C文化的一些原则。被那些独立发展但仍然合作的人喜欢。任何伟大的项目都应从原则开始,并在其收集更多层次(GUI和其他功能)时继续以其为核心。

我对化石印象深刻并开始使用...看看化石

干杯


11

上一年发布后,我已登陆此页面,这里已经提到了递归添加。

化石让我着迷于简单,尤其是在我难以获得一个可以与Mercurial一起工作的错误跟踪系统之后。我需要了解如何管理多个项目,发布用于多用户访问的存储库以及如何进行合并,管理补丁等。我感觉到,将来不会感到失望。


7

我对将其用于源代码版本控制不感兴趣,但是对分布式版本控制的个人Wiki感兴趣,我可以在使用的所有计算机之间进行同步。


4

达米安

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

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

在Windows上,以及

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

在Unix上。

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

问候,彼得


2
您始终可以在Windows上使用PowerShell,它使这种命令行工作更加有趣。
javelinBCD

14
在Linux / Unix / Mac OS XI上,只需执行'fossil add'。它添加了所有内容,我的所有子目录以及所有内容
Trausti Thor 2009年

2
“ fossil addremove”在所有平台上也是完全递归的。上面的帖子很可能已经过时了。
FvD

1
是的,此帖子已过时
Johannes Kuhn 2013年

3

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


1

化石是好的。它简单易用。如果化石可以提供GUI界面来签入和签出,那就更好了(最好使用Java gui归档跨平台GUI)。

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


0

我正在尝试您的vcs。我喜欢将所有内容整合在一起的想法。毕竟,当我寻找这样的系统时,就是我想要的。我是Mercurial的活跃用户。而且我找不到与问题跟踪器的集成(我过去尝试将p Trac设置为Merurial失败)。经过一些测试,我意识到:1)“递归”命令不是递归的,或者我在文档中找不到做到这一点的方法2)我写了一个蝙蝠(我使用Windows)添加750个文件并运行它(花了一段时间)。运行提交时,其跳转为“清单格式错误”

我认为您可以解决此问题,也可以解决其他问题,例如https://www.mercurial-scm.org/wiki/UserSurvey进行的Mercurial调查。你可以在gmail的dnoseda给我写信

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

问候

ps .:作为市长的改进,您可以添加gitstat之类的东西


3
(我不是化石开发人员,而是用户)1.它有一个问题跟踪程序(它是自托管的)2.化石添加文件夹是递归的(忽略前导'。'的文件/文件夹)我昨晚用它来制作完全没有问题,是plt-scheme.org颠覆性主干的本地化石存储库。3.邮件列表很活跃,开发人员反应迅速-当时似乎还不太拥挤。还有一个问题跟踪程序,我不需要使用它,因为Fossil对我而言没有错误。
斯蒂芬

1
FogBugz的(错误跟踪)的作品与窑(用于水银在线repostitory)由Fogcreek既提供
托比·艾伦

-9

也许没有受过教育的下意识的反应,但是将存储库存储在像SQLite数据库这样的二进制blob中的想法让我感到恐惧。我也怀疑直接将Wiki和错误跟踪器包含在VCS中的好处-要么与Trac之类的完整软件相比功能不足,要么与Subversion或Bazaar相比,VCS显得肿。


21
SQLite不是“二进制Blob”。这是一个真正打开的文件格式,跨平台,并且有据可查。由于SQLite是使用最广泛的数据库,因此将来它们将始终为它提供支持。而且,化石中使用的文物存储也是高效的,有据可查的并且易于阅读。SQLite是当今最大的开源项目之一,它使用化石托管。
A.Bouchez 2010年

3
有关与sqlite db进行交互(包括导出)的一种快速简便的方法,请参见firefox扩展名code.google.com/p/sqlite-manager
matt wilkie 2010年

8
当您查看其回购协议时,所有DVCS都存在“二进制斑点”。最后一个非二进制文件是CVS ...我也有保留,但是克服了。
于尔根A.艾哈德

2
“ Fossil不是基于SQLite。Fossil的当前实现使用SQLite作为分布式数据库内容的本地存储,并用作有关分布式数据库的元信息的缓存,该缓存已预先计算以方便快速呈现。但是,使用SQLite的角色是实现细节,而不是设计的基础。” www.sqlite.org/debug1/doc/trunk/www/theory1.wiki
Gulbahar,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.