4

Works リポジトリを移行しているので、ソース ツリーに存在する参照されていないすべてのファイルを選別してから、新しい (空の) リポジトリに移動したいと考えています。

これまでのところ、私が知っているすべての参照されていないファイルを手作業で調べましたが、それらすべてをキャッチしたかどうかを確認したいと思います。1 つの方法は、プロジェクト ファイルをファイルごとに手動で新しいフォルダーに移動し、コンパイル時に何が残るかを確認することです。これには 1 週間かかるので、自動化ツールが必要です。

人々は何を提案しますか?

明確化:
1) C++ です。
2) ファイルが混在しています。他の人に取って代わられたがリポジトリで腐敗したままになっているファイルを探しています-たとえば、file_iter.hはプログラム内の他のファイルによって参照されていませんが、誰かがバージョンをコンパイルしたい場合に備えてリポジトリに残ります1996年!現在、使用されなくなったすべてのファイルを安全にジャンクできる新しいリポジトリに移動しています。
3) Lint は、未使用のファイルではなく、未使用のインクルードのみを検出します (目の前に 7.5 のマニュアルがあります)。

4

5 に答える 5

2

この投稿にc++のタグを付けたので、それが問題の言語だと思います。それがリポジトリにある唯一のものである場合は、リポジトリ内のすべてのファイルをファイル名ごとに grep して、適切な出発点を与えることはそれほど難しくありません。リポジトリに他のファイル (メタデータ、サポート ファイル、リソースなど) が含まれている場合は、おそらく手動で行う必要があります。

于 2008-09-09T10:36:21.813 に答える
1

そのための既存のツールを提供することはできませんが、ツールを作成することで、この情報をたくさん得ることができると期待しています (おそらく多少の努力が必要です)。通常、少なくともビルド ツールに、実行するコマンドを実際に実行せずに出力させることができます。(例えばandの-nオプションはこれを行います。) それから、少なくとも使用されたソースファイルを抽出できるはずです。makebjam

-MMのを使用するg++と、特定のソース ファイルのすべての非システム ヘッダー ファイルを取得できます。出力はmakeルールの形式ですが、何らかのフィルタリングがあれば問題ありません。

これが役立つかどうかはわかりません。それは私があなたの状況で試みることです。

于 2008-09-09T21:23:39.713 に答える
0

lint のような静的ソース コード分析ツールがその仕事をしてくれるかもしれません。コードの一部が呼び出されないかどうかを教えてくれます。

于 2008-09-09T10:42:49.270 に答える
0

Source-Navigatorをご覧になりましたか? これは IDE として使用できますが、ソース コードの構造を分析するのが非常に得意であることがわかりました。たとえば、特定のメソッドがソース コードのどこで使用されているかを調べることができます。

スクリプト化できるかどうかはわかりませんが、良い出発点になるかもしれません。

于 2008-09-09T11:18:38.060 に答える