web-dev-qa-db-ja.com

Fossil DVCSについてどう思いますか?

化石 http://www.Fossil-scm.org
最近これを見つけて、自宅のプロジェクトで使用し始めました。他の人がこのVCSについてどう思うか聞いてみたい。

私の心に欠けているのは、IDEサポートです。うまくいけば来るでしょうが、私はコマンドラインをうまく使います。

Fossilについての私のお気に入り:組み込みのWebサーバーwikiとバグ追跡を備えた単一の実行可能ファイル。リポジトリは1つのSQLite( http://www.sqlite.org )データベースファイルであり、バックアップが簡単です。また、Fossilを実行して、サムドライブにリポジトリを保持できることも気に入っています。これは、私のソフトウェア開発が完全にポータブルになったことを意味します。

ご意見をお聞かせください。

124
javelinBCD

ミリキン氏、もしあなたが少し時間をかけて化石に関する文書のいくつかをレビューするなら、あなたの異議はそこで扱われていると思います。リポジトリをsQLiteデータベースに保存することは、他のアプローチよりも間違いなく安全です。リポジトリを格納するためにトランザクションデータベースを使用する利点のいくつかについては、 リンクテキスト を参照してください。肥大化に関して:全体は単一の自己完結型の実行可能ファイルに含まれており、その懸念を否定するようです。

完全な開示:私はFossilの著者です。

Fossilを作成したのは、他のDVCSが私のニーズを満たしていないためです。一方、私のニーズはあなたのニーズではないので、化石があなたに合っているかどうかを判断できるのはあなただけです。しかし、少なくともドキュメントを見て、Fossilが解決しようとしている問題を解く前に理解することをお勧めします。

176
Richard Hipp

自明ではない開発プロジェクトでFossilを1年以上使用した後、私はこのトピックについて十分に自信を持っていると感じています。

以下はこれまでの私の経験です。私はそれらのSCMを非常によく知っているという理由だけでgitとsvnを比較していますが、比較することでアイデアを理解しやすくなります。

私はこのSCMが大好きです。そのため、主にプラス側のポイントです。

Fossilの好きな点:

1)多くのマシン(win/mac /多くのLinuxディストリビューション)があり、単一実行可能インストールは見た目と同じくらい美しいです。依存関係なし;それだけで動作します。 Gitはファイルの乱雑な山であり、Subversionの依存関係の地獄は、特に自分でビルドする必要がある場合、一部のLinuxディストリビューションでは非常に厄介です。

2)デフォルトのFossilワークフローはプロジェクトに完全に適合しており、必要に応じてより多くのgit'ishワークフローが可能です。

3)大規模なプロジェクトであっても、非常に堅牢であることがわかりました。 sqliteを書いた人たちには他に何も期待していません。クラッシュ、破損、おかしなビジネスはありません。

4)私は実際にパフォーマンスにとても満足しています。巨大なツリーではgitほど高速ではありませんが、それほど遅くはありません。 gitの場合のように、他のコマンドごとにドキュメントを参照する必要がないため、無駄な時間を補うことができます。

5)すべての操作の背後に試行された真のトランザクションデータベースがあるという事実により、夜間の睡眠が良くなります。はい、Subversionリポジトリが古くて破損しているという恐ろしい出来事を何度も経験しました(ありがたいことに、役に立つコミュニティがそれらを修正するのを助けてくれました)。 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ワークフローにより、マージが最初に発生する可能性は低くなります。)

誰もが化石を走らせることを願っています-世界はちょうど機能するであり、ロケット科学者である必要はありません。

44
grand johnson

化石は小さく、シンプルでありながら強力で堅牢であり、C Cultureのいくつかの原則を思い起こさせます。独立して開発し、まだ協力している人々に好まれます。優れたプロジェクトは原則から始めて、より多くのレイヤー(GUI、追加機能)を収集するため、コアで継続する必要があります。

Fossilに感心し、使い始めました... Fossil を見てください

乾杯

13
vijiboy

最後の投稿の1年後にこのページに移動します。ここで言及された再帰的な追加は、今では処理されています。

Fossilは、特にMercurialで動作するバグ追跡システムを取得するのに苦労した後、単純さに魅了されます。複数のプロジェクトを管理する方法、マルチユーザーアクセス用のリポジトリを公開する方法、およびマージを行う方法、パッチを管理する方法などを確認する必要があります。

12
rawjeev

ソースコードのバージョン管理に使用することには興味がありませんが、使用しているすべてのマシン間で同期できる分散バージョン管理された個人用ウィキに興味があります。

7

ダミアン、

1 /はい、Fossilは再帰的な追加をサポートしていません。ただし、次のようなかなり単純な回避策があります。

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

windowsの場合、および

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

unixで。

2 /ファイル名に非ASCII文字を含むファイルを追加すると、不正な形式のマニフェストに関するメッセージが表示されました。この問題は最後のビルドで修正されました。

よろしく、ペトル

4
Petr Sturc

Fossilは本当にクールだと思います。私にとって最も重要な機能は、簡単なインストールと、開発者にとって使いやすいデフォルト設定です。現在、ファイルのローカルな変更を追跡するために使用しています。 (私たちのプロジェクトはsourceforgeでホストされ、CVSで追跡されます。)そうすれば、プロジェクトを中断する場合でもローカルで「コミット」できるため、小さな変更も追跡できます。

3
zslevi

化石は良いです。シンプルで使いやすいです。 FossilがチェックインおよびチェックアウトのためのGUIインターフェースを提供できる場合、それはより良いでしょう(クロスプラットフォームGUIをアーカイブするには、Java guiを推奨))。

Fossilの主な利点は「オープンソース」と「SQLiteデータベースを使用する」ことです。したがって、誰かがFossilソースコードをコンパイルして、FossilをGoogle Androidプラットフォーム(モバイルおよびタブレットデバイス).

1
vgps

私は今あなたのVCを試しています。すべてを統合するというアイデアが好きです。結局のところ、私はこのようなシステムを探すときに必要なすべてです。私はMercurialのアクティブユーザーです。そして、私は課題追跡との統合を見つけることができませんでした(過去にMercurialでp Tracを設定しようとして失敗しました)。いくつかのテストの後、1)「追加」コマンドが再帰的ではない、またはドキュメント内でそれを実行する方法が見つからない2)750ファイルを追加するためにバットを書く(Windowsで作業する) (しばらく時間がかかりました)。実行がコミットすると、「マニフェストの不正な形式」でジャンプします

https://www.Mercurial-scm.org/wiki/UserSurvey でMercurialのような調査を行っているこの問題や他の問題に対処できると思います。あなたはGmailのdnosedaで私を書くことができます

あなたの仕事に興味があります。改善し続けてください。

よろしく

追伸:市長の改善として、gitstatのようなものを追加できます。

0
user2427