プロジェクトを引き継いでいますが、Subversion リポジトリに、config.guess、depcomp、ltmain.sh など、libtool と automake のディストリビューションに属するファイルがいくつかあります。これは単純に間違っていると思います。なぜなら、チェックアウトするときはマシンに autotools をインストールして autoreconf を実行する必要があるからです。
どう思いますか ?これらのファイルをリポジトリに置くという点を見逃していますか?
通常、これらは SVN リポジトリにはありません。通常、必要autogen.sh
に応じて再作成する があります。古い可能性のあるファイルを保存しないというあなたの本能は、良いものです。誰かが への変更をコミットし、configure.ac
他の誰かが ですべてをチェックアウトしたconfigure
場合、その変更は問題になりません。
生成できるほとんどすべてのもの (および depcomp などはそれに属します) は、追跡されるソース リポジトリの一部であってはなりません。
純粋な理論は、再生成できるファイルをバージョン管理に入れてはいけないということです。autoreconf -i
または同様のものを使用してこれらのファイルを再作成できるため、この場合はこれが当てはまります。
多くの人がまだそれをしている理由は(おそらく無知を除いて)、これは開発者にかなりの追加の負担をかける可能性があるからです。たとえば、数十人の開発者と数百人の関心のあるフォロワーがいる大規模なオープンソースプロジェクトがある場合、全員が異なるバージョンのautoconf、automake、libtool、autopointなどをインストールします。単純なケースでは、それは違いを生むべきではありません。実際にはそうですが、これは大きな頭痛の種となり、潜在的なプロジェクト貢献者を遠ざける可能性があります。
したがって、実際の妥協案として、これらのファイルが実際に変更されることはめったにないため、非常に複雑な設定をしている場合は、とにかくそれらをチェックするだけでかまいません。