3

バージョンをリリースするときに、プロジェクトのソースコードセットをバックアップするのが好きです。私はGExpertsプロジェクトバックアップを使用しています。これは、プロジェクトマネージャー内のすべてのファイルをZIPファイルにまとめているようです。このファイルセットに任意のファイルを追加することもできますが、必ずしもすべてのファイルを取得しているわけではないことを常に意識しています。特にuses句を調べて、ソースのあるすべてのユニットをプロジェクトに追加しない限り、インストール可能ファイル/実行可能ファイルを再作成するために必要なすべてのファイルを確実に保存することはできません。

アプリをローリングしてプロジェクトをトラバースし、使用されているすべてのユニットを追跡し、すべての検索パスを調べて、そのユニットで使用できるソースファイルがあるかどうかを確認し、その方法でバックアップするファイルのリストを作成することを考えました。しかしねえ-多分誰かがすでに仕事をしましたか?

4

4 に答える 4

12

バージョン管理を調べる必要があります(強くお勧めします)。

SVN(破壊)、CVS

これにより、すべてのソースのリビジョンを制御できるようになります。これにより、ソースファイルの追加または削除、マージのロールバック、およびプロジェクトソースの管理に関連するその他すべての優れた機能を利用できます。

これにより、a $%#が1日節約されます。

于 2011-03-08T04:06:19.510 に答える
1

バージョン管理について質問しているのか、すべてのファイルを確実に入手する方法について質問しているのかわかりません。

私が時々実行する便利なユーティリティの1つは、dcu出力フォルダー内のすべてのファイルのDirListを作成するプログラムです。拡張子を.dcuから.pasに変更すると、すべてのソースコードファイルのリストが表示されます。

もちろん、.incファイルやその他の非.pasファイルはありませんが、おそらくこの考え方は何らかの形で役立つでしょうか。

私にとってこのユーティリティの価値は、2番目のハウスキーピングユーティリティプログラムが、対応する.dcuファイルを持たないソースツリー内のすべての.pasファイルのリストを作成することです。これ(すべてのプログラムの完全なコンパイル後)は、通常、使用されなくなったいくつかの「ジャンク」.pa​​sファイルを明らかにします。

于 2011-03-08T13:37:20.057 に答える
1

あなたは2つの方法であなたの質問を解釈することができます:

  1. プロジェクトをビルドできるように、少なくとも十分なファイルをバックアップするようにするにはどうすればよいですか?
  2. プロジェクトをビルドできるように、バックアップするファイルが多すぎないようにするにはどうすればよいですか。

1つ目は、システムを完全に構築できることを確認することです。2つ目は、未使用のファイルをクリーンアップできるようにすることです。

どちらの場合も、個別のビルドシステムを含むバージョン管理システムが最適です。

次に、新しい変更のセットごとに、次の手順を使用して、両方の条件が満たされることを確認できます。

  1. 毎日の開発システムで、ソースコードの新しいリビジョンをバージョン管理システムにチェックインします。
  2. 別のビルドシステムで、最新バージョンのソース管理システムを入手します。
  3. ビルドシステムでプロジェクトをビルドします。これが失敗した場合は、手順1に進み、不足しているファイルを開発システムからバージョン管理システムに追加します
  4. 不要と思われるファイルをプロジェクトから(1つずつ)削除し、失敗するまで再構築します。
  5. ビルドが失敗した場合は、バージョン管理システムからその特定のファイルを復元してから、次の候補で手順3を続行します
  6. ビルドが成功すると、最小限のファイルセットが作成されます。
  7. 次に、バージョン管理システムとビルドマシンのファイルの概要を確認します。
  8. バージョン管理システムにはあるがビルドマシンにはないファイルを非推奨または削除済みとしてマークします。

ほとんどのバージョン管理システムには、開発システムまたはビルドシステムのファイルと、バージョン管理システムのファイルとの違いを生成する優れた方法があります(通常、バージョン管理システムでファイルを追加/削除/更新した過去の時点ごとに細かく調整されています) )。

個別のビルドシステム(または2つの個別の開発システム)が必要な理由は、それらを独立させたいためです。1つは開発に使用し、もう1つはビルドがまだOKかどうかを確認するために使用します。

これは、将来、これを継続的インテグレーションシステム(単体テストを実行し、製品のセットアップを自動的に作成するなど)に拡張する可能性がある最初のステップです。

--jeroen

于 2011-03-08T07:11:59.400 に答える
1

実行可能ファイルにコンパイルされたすべてのユニットのリストを取得するために、コンパイラにMAPファイルを生成させることができます。このファイルには、使用されるすべてのユニットのエントリが含まれます。

于 2011-03-09T10:02:42.090 に答える