34

TFS ソース管理の使用に関するベスト プラクティスを考え出そうとしています。現在、ビルドを行うときはいつでも、TFS にチェックインされるファイルにバージョン番号のラベルを付けています。このアプローチは、単にファイルをチェックインしてコメントにバージョン番号を付けるよりも良いですか、それとも悪いですか? その後、必要に応じて変更セットを使用して戻ることができますか、それともラベルの方が汎用性がありますか?

ありがとう!

4

4 に答える 4

35

これらには 2 つの異なる目的があります。ChangeSet は、ファイルが実際に変更され、その変更の永続的な記録を保持したい場合です。ラベルはファイルの特定のバージョンをマークするため、その時点に簡単に戻ることができます。ビルドがソース管理下のファイルを実際に変更し、これらの変更を記録したい場合を除きます。ラベル付けする必要があります。

また、ラベリングはリソース集約型ではありません。また、同じバージョンのファイルに複数のラベルを付けることができます。

于 2009-06-05T15:30:50.650 に答える
7

ビルドを構成するソース ファイルのバージョンにラベルを付ける必要があります。TeamBuild を使用している場合は、それが自動的に行われます。ビルド定義の名前、日付、およびビルド番号を組み合わせたものです。したがって、何もする必要はありません。

もう 1 つのオプションはあまり一般的ではなく、多くの不必要な作業が必要です。私の理解が正しければ、ビルド プロセス中にソース ファイルをチェックアウトし、チェックイン コメントで指定されたバージョン番号を使用して再度チェックインすることになります。これは、ビルド プロセスとソース管理リポジトリの点で非常にリソース集約的であると Alex が述べたとおりです。さらに、バージョン情報がコメントに埋め込まれている場合、特定のバージョンのソース ファイルをどのように取得しますか? これは非常に難しく、TFS ソース管理 API を使用して、チェックイン コメントでバージョン番号を検索してソース ファイルをワークスペースにダウンロードする独自のアプリケーションを作成する必要があります。これにより、不要な複雑さと頭痛の種が生まれます。

代わりにラベルを使用する場合は、VS IDE で get by label を実行して、そのラベルを構成するソース ファイルをダウンロードできます。ビルドの自動化中に最新のソース ファイルをダウンロードする代わりに、ラベルを使用するように TeamBuild に指示することもできます。そうすれば、以前のバージョンのアプリケーションを簡単にビルドできます。ラベルを使用すると、単にそのラベルを取得してから特定の変更セットを取得し、クイック ラベルを実行するか、まったく新しいラベルを作成するだけで、コードの変更があった場合に既存のラベルに後で変更セットを適用することもできます。

ラベル付けは非常に強力で使いやすく、TFS の一部です。機能して維持するために多くの労力を必要とするカスタム ソリューションを考え出すのではなく、既に利用可能なものを使用してみてください。

于 2009-06-05T16:09:25.910 に答える
2

現在、ビルドを実行するときはいつでも、TFSにチェックインされるファイルにバージョン番号のラベルを付けます

これを行う必要はありません。TFSはさまざまな方法でコードベースの状態を参照できますが、そのラベルは確かに1つですが、ビルドやチェンジセットも同様です。ドロップダウンでaを実行Get Specific Version...し、オプションを調べることで、特定の時点を再構築するための利用可能な方法を確認できます。Type

Changeset
Date
Label
Latest Version
Workspace Version

Changesetチェンジセットの直後に取得できます。Date明らかです。Labelビルドが自動的に*ラベルを作成することを除いて、これも同様です(Labelこのドロップダウンから選択して、Find Labelダイアログを確認してください)。

*自動だと思います!それが私たちが今いる場所に特別に設定したものでない限り...

于 2009-06-05T16:00:09.527 に答える