19

Projectサブフォルダーtrunkとを含むTFSプロジェクトがあると想定します1.0trunkこのプロジェクトのアプリケーションコードの最新バージョンが1.0含まれ、同じ名前のリリースされたバージョンの同じアプリケーションのコードが含まれています。

両方のサブフォルダーにラベルがあり、すべてのラベルには、一方のサブフォルダーにのみファイルが含まれています。[答えを単純化する場合は、サブフォルダー全体のすべてのファイルの特定の(最大)チェンジセットでもラベルが再帰的であると想定することもできます。]

tf.exeVisual Studio、TFSコマンドラインツール、または公開されている(そして無料で)利用可能なその他のツールやコードを使用して、これらのサブフォルダーの1つのラベルのリストを作成するにはどうすればよいですか。

注– TFSバージョン管理データベースに直接クエリを実行してこの情報を生成するT-SQLコードを作成しましたが、これを行うための「より良い」方法があるかどうか知りたいです。

4

3 に答える 3

38

Visual Studioの[ソース管理エクスプローラー]ウィンドウで、関連するラベルを一覧表示するサブフォルダーを右クリックし、コンテキストメニューから[履歴の表示]を選択します。表示される履歴ウィンドウに、そのサブフォルダーに適用されたラベルを一覧表示するサブタブ[ラベル] (以下で強調表示されている)が表示されます(ただし、そのサブフォルダー内の特定のアイテムは表示されません)。

ここに画像の説明を入力してください

于 2012-04-04T18:26:40.050 に答える
2

VisualStudioでラベルを検索するには

  1. ソース管理エクスプローラーを開きます。

  2. ソース管理エクスプローラーで、探しているコレクション、チームプロジェクト、ブランチ、フォルダー、またはファイルのショートカットメニューを開きます。

  3. [履歴の表示]を選択します。すべてのチェンジセットを含む新しいウィンドウが表示されます。

  4. 下の画像で強調表示されているように、タブメニューで[ラベル]を選択します。

ここに画像の説明を入力してください

于 2015-02-04T18:35:31.960 に答える
2

今日はコマンドラインでこれを行う必要があったので、これが同じことをうまく行うバッチファイルです(TFSの使用を開始したばかりで、OPの要件をテストするためにフォルダーのラベルが制限されています)。

コレクションパラメータを設定に合わせて編集する必要がありますtf。また、認証の方法によっては、ログインの詳細を提供する必要があります。

@ECHO OFF
SETLOCAL EnableDelayedExpansion

@REM Check required parameters
IF [%1]==[] GOTO :usage

tf labels /owner:* /format:detailed %2 /collection:http://server:8080/tfs/collection > labels.txt 2> nul

SET CURRENT_LABEL=
FOR /F "tokens=1,2,3" %%G IN (labels.txt) DO (
    IF [%%G]==[Label] (
        SET CURRENT_LABEL=%%I
    ) ELSE (
        IF /I [%%H]==[%1] (
            ECHO !CURRENT_LABEL!
        )
    )
)
DEL labels.txt

GOTO :eof
@REM Subroutines

:usage
echo tfs_labelsforfolder - Display all labels that are applied to a folder.
echo.
echo tfs_labelsforfolder ^<folder^> ^[label_filter^]
echo.
echo     folder       - The folder to show the labels for, e.g. $/Project/folder
echo     label_filter - Search pattern to use in tf labels command.
echo.
GOTO :eof
于 2015-10-01T15:21:29.407 に答える