web-dev-qa-db-ja.com

TFS2012でレビューリクエストを複数のチェンジセットに関連付けるにはどうすればよいですか

私たちの開発プロセスは次のように機能します。2週間ごとにチームリーダー(私)が参加し、全員のチェンジセットをレビューして、コーディング標準に準拠していることを確認します。 TFS 2012を使用して、このプロセスの自動化を支援したいと思います。

これには2つの問題があります。

  1. 未承諾のコードレビューを送信する方法はありません。必要ならこれなしで生きていけると思います

  2. コードレビューを複数のチェンジセットに関連付ける方法はありません。これは契約破りです

事後にチェンジセットをワークアイテムにリンクすることが可能であると述べた記事を読みました。リクエストレビューのためにワークアイテムを開くと、[リンク]タブが表示されます。ただし、「新規」または「リンク先...」をクリックすると、チェンジセットにリンクするオプションがありません。プロセス内の各作業項目タイプにリンクするオプションのみがあります。

誰かがこれを行う方法を知っていますか?これらの機能をTFSに追加する予定はありますか?

これがスクリーンショットです:

No changeset option to be found... :(

29
Doug
  1. 未承諾、いいえ。
  2. 履歴画面で変更セットを右クリックして、チェックイン後のレビューをリクエストできます。

そして、あなたが達成したいことを得るための厄介な回避策があります。レビューするすべてのファイルをチェックアウトして、レビューをリクエストします。その後、チェックアウトを元に戻すことができます。シェルフセットとレビューリクエストは残ります。

または、ソース管理タブに移動してチェックアウトを実行することもできます。すべて、ソリューションのルートフォルダーで、レビューをリクエストし、チェックアウトを元に戻して、レビューを実行します。

チェンジセットを作業項目にリンクする場合、これはチェックイン後に行うことができます。作業項目を開き、[リンク]タブに移動して、[リンク先...]をクリックします。ドロップダウンには[変更セット]オプションがあります。ただし、コードレビューリクエストではこのリンクタイプが有効になっていないと思います。これらは、レビューするコードのソースとして変更セットのセットではなく、シェルベセットを使用しているためです。

enter image description here

TFS APIを使用して、特定の開発者からのすべての変更を特定の時間範囲で含むシェルフセットを生成し、それらをシェルフセットに配置して、レビューをリクエストできると思います。しかし、それを行うための既存の機能は存在しません。

または、同じ名前で新しいシェルフセットを作成することにより、レビューに関連付けられているシェルフセットを編集できる場合があります。

10
jessehouwing

別のアプローチ:

1)2週間のサイクルの開始時に、コードレビュープロセスを開始し、作成された作業項目番号をメモします。最初はコードを変更せずに、自分からレビューをリクエストするだけです。

2)すべての開発者に次の2週間のチェックインをその作業項目に関連付けてもらいます#

3)レビューを実行する準備ができたら、ワークアイテムを開いて変更セットを確認するだけです。

それはあなたが望むことを達成するはずです。

1
Andrew Clear

アイテム#2には、レビューのために多くのチェンジセットからのすべての変更を1つにまとめたいという標準的な回避策がありますshelveset。上記のチェックアウト方法を試しましたが、レビューに25個程度のファイルがあったこともあり、チェックアウトした後、更新すると、TFSの意見では変更がなかったため、TFSは保留中の変更からそれらを削除しました。

まず(変更がすでにチェックインされており、複数のチェンジセットにあると仮定して)、D:\ Latestなどのディスクパスに最新のファイルを含むワークスペースを用意します。

新しい「ローカル」ワークスペース(「レビュー」と呼ばれる)を作成し、同じプロジェクトをわずかに異なるパス(たとえば、D:\ Review ... ")にマップして、すべてのファイルを取得します。そのプロジェクトの履歴に移動し、直前に移動します。最初のチェンジセットを右クリックして、[このバージョンを入手]を選択します。

この時点で、履歴に移動し、誰かが共通ファイルを変更しない限り、レビューの一部になりたくない、その間に他の誰かが変更した可能性のある変更セットをロールバックします。それらを残します。

比較を超えて、「D:\ latest ...」を「D:\ Review ...」と比較し、変更を最新からレビューにコピーします。共通ファイルに移動し、確認する行のみをコピーします。 Beyond Compareが変更を書き出すと、TFSは変更を検出し、保存したファイルを「レビュー」ワークスペースの保留中の変更リストに配置します。 (これはローカルワークスペースの機能です。)

この時点で、「レビュー」ワークスペースから保留中の変更を棚上げし、その棚セットでレビューをリクエストするだけです。

0
SteveSims

オプション#

[ここでは、単一のコードレビューに関連付けようとしているチェンジセットが連続していると想定しています。たとえば、20001:20010]

  1. 「特定のチェンジセットにロールバック」しました(私の例では20001より上)。変更点で確認します。これで、コードは元の状態になりました。

  2. 次に、「特定のチェンジセットにロールバック」し(私の例では20010より上)、再度チェックインします。これで、コードは最終状態になりました。

  3. 最後に、最新のリビジョンのレビューをお願いします。このレビューでは、最新の2つのコミット(ロールバックから作成したコミット)を比較します。

ボーナスとして、履歴ページで特定のチェンジセットを比較できます。この比較を使用して、上記のコミットが実際にコードをリビジョン20001および20010に戻したことを確認できます。

0
KlingonJoe