シンプルなソースコード管理ツールについて尋ねる多くの質問を読みましたが、Gitは合理的な選択のように思えました。私はそれを稼働させており、これまでのところうまくいきます。CVSについて私が気に入っている点の1つは、バージョン番号の自動インクリメントです。
これは分散リポジトリではあまり意味がないと理解していますが、開発者として、私はこのようなものが欲しい/必要です。理由を説明しましょう:
私はEmacsを使用しています。定期的に調べて、サードパーティパッケージのLispソースファイルの新しいバージョンを探します。ヘッダーによれば、ファイルfoo.elがバージョン1.3であるとします。最新バージョンを調べて、それが1.143や2.6などであることがわかった場合、かなり遅れていることがわかります。
代わりに、40文字のハッシュが2つ表示された場合、どちらが遅いかわからないか、どれだけ後であるかがわかりません。自分がどれだけ古くなっているのかを知るためだけにChangeLogを手動でチェックしなければならないとしたら、私はそれを絶対に嫌います。
開発者として、私が見るように、この礼儀を私の出力を使用する人々に拡張したいと思います(そして、多分私はだれでもだと冗談を言っていますが、それは少しおきましょう)。私は毎回自分の気の数、またはタイムスタンプなどをインクリメントすることを覚えておく必要はありません。それは本当のPITAであり、私は経験からそれを知っています。
それで、私にはどのような選択肢がありますか?$ Id:$に対応できない場合、他にどのようにして探しているものを提供できますか?
私の期待は、エンドユーザーにはGitがインストールされておらず、インストールされていてもローカルリポジトリがないことです(実際、そのように使用できるようにしないと期待しています)。
filter-branch
何かを再構築できるので、ハッシュは信頼できません。