GitからFossilへ:Rust強制化に反発し、Cで書かれたシンプルなバージョン管理に移行

From Git to Fossil

GitがRustを必須にする提案を進めていることに反発し、著者はFossilへの移行を決意。Cで書かれ軽量、ステージングエリア不要で自然に使え、WebサーバーやWiki、チケット管理を内蔵しセルフホストが容易。コミットメッセージにメールアドレスを使わずスパム対策にもなる。Gitとの相互運用や双方向同期も可能で、実際のインストールからリポジトリ移行、サーバー構築、基本操作までを解説する。

Rustが嫌いで、何よりもその小さな過激派のコミュニティが嫌いだ。彼らは何十年も動いているプロジェクトを書き直させ、SNSで圧力をかけ、全体主義的な妄想にふける小さな集団にありがちな『素敵な宝石』を次々と繰り出す。だからプロジェクトがCからRustへの移行を『強制』しようとするのを見ると、私は可能な限り、ロード・オブ・ザ・リングのバルログに鞭で追われるように逃げ出すのだ。
  1. LVB

    Fossilにはものすごく苛立たされる。惹かれる部分はたくさんあるのに、実際に(私が)採用するのを妨げる致命的な問題がある。何度か真剣に使ってみた。その問題の根底には、彼らの不変性への姿勢がある。rebaseがないのは最も悪名高いが、チケットの説明すら編集できない!説明にタイプミスや誤りをすると、注記を追加するか、チケットを削除して作り直すことを期待される。

    強力で、すぐに使えるscm+チケットなどのシステムというアイデアは本当に好きだし、sqliteのファンでもあるが、fossilは自分には合わなかった。

  2. ianjbutler

    私見では、最近のfossilで最高かつ最も関連性が高い部分はチケットシステムであり、あらゆる点でコーディングエージェントにとってほぼ完全に理想的だ。いくつかの特徴を挙げると、シングルバイナリ、リポジトリ内、CLIまたはWeb UI、そしてオフライン/sql/markdownフレンドリー。

    トラッカー全体が上記の特徴を持つsqliteの薄いフロントにすぎないので、選択肢はたくさんある。プロジェクトごとに永続的に使って同僚も含めるもよし、自分のエージェントだけが内部で「考える」ようにローカル専用で使って、コードコメントのあちこちにCoTをぶちまける可能性を減らすもよし。タスク単位の粒度で使って、後で捨てるもよし。三つ全部やっても、fossilは気にしない!そしてエージェントたちも大喜びするだろう。

  3. camkego

    正直なところ、この記事はGitメーリングリストのメールを誤解していると思う。

    記事の最初の行はこうだ:

    「Gitの人々が、Rustプログラミング言語を必須にする提案に取り組み始めた。」

    これは、将来のコードはすべてRustでなければならなくなるように私には聞こえた。

    しかし、Gitメーリングリストのメールにはこうある:

    「Git 3.0でRustをビルドインフラの必須部分にすることを発表する。」

    また、元のGitメーリングリストのメールにはこうある:

    「[著者は...をRustに移植中]『varint.c』サブシステム、主にそれが些細で依存関係がないからだ。」

    つまり、Gitリストのメールは、Cコードの小さな部分をRustに変更することをテストしており、Rustビルドツールが[ビルドに]必須になる(コードベースの非オプション部分がRustなら驚くことではない)と言っている。

  4. thangalin

    Gitリポジトリのためのシンプルな読み取り専用Webプレゼンスが欲しいだけなら、解決策はたくさんある。私のはこれだ:

    https://repo.autonoma.ca/repo/treetrek

  5. WCSTombs

    (2025年)。

    この記事で私にとって断然最も不可解な部分はこれだ:

    > Gitの人々が、Rustプログラミング言語を必須にする提案に取り組み始めた。私はRustが嫌いで、何よりもその小さな過激派の連中のコミュニティが嫌いだ。彼らは何十年も動いてきたプロジェクトを書き直させ、ソーシャルメディアで集団攻撃をし、全体主義的妄想を持つどんな小さな集団にもふさわしい素敵な小さな宝石のようなことをして、みんなに自分たちのクソを飲み込ませようとしている。だから、プロジェクトがCからRustへの使用や切り替えを「強制」しようとしているのを見ると、できる限り、ロード・オブ・ザ・リングのバルログが鞭を持って追いかけてくるかのように逃げ出す。

    私はかなり長い間プログラミングをしてきて、プログラミング言語について自分なりの意見を持っているが、裏で使っているプロジェクトをボイコットしなければならないほど強く嫌いな言語は思いつかない。さらに、「小さな過激派の連中のコミュニティ」という主張を議論のために受け入れたとしても、それがGitの状況に関係あるのか?コードベースにRustを導入することが過激主義の結果であり、単なるありふれた技術選択ではないという証拠は見たことがない。最後に、Rustが「必須」にされても、今すぐRustを使わなければならないという意味ではなく、ソースコードをビルドするのにRustが必要というだけだ。大多数の人はRustが使われたことすら知らないだろう。ほとんどのGit開発者でさえRustを使う必要はないだろう、なぜなら […]

この日のほかの記事

2026-09-13