web-dev-qa-db-ja.com

ラベル付きのTFSファイル履歴を表示できますか?

現在、Visual SourceSafeとTeamFoundation Serverの両方を使用しています(古いプロジェクトにはVSS、現在または新しいプロジェクトにはTFS)。

各ビルドのソース管理では、常にラベルを使用してきました。 VSSでは、ファイル履歴を表示することを選択した場合、ラベルを含めることができます。 TFSで、履歴ウィンドウにラベルを含めるオプションが見つかりません。

サポートまたは管理者から寄せられる最も一般的な質問の1つは、「xxxxを修正/追加/削除/変更したバージョンは何ですか?」であるため、履歴に表示されるビルドラベルに常に依存してきました。

ラベルをファイル履歴に表示させることはできますか?

31
Jack Bolding

TFSの2008バージョンでは、ファイルとフォルダーの標準の履歴にラベルが表示されません。理由を本当に知りたい場合は、Brian Harryのブログ投稿「 TFSラベルがVSSラベルとは異なる理由 "」を参照してください。

Visual Studioでラベルを検索するには、[ファイル]、[ソース管理]、[ラベル]、[ラベルの検索...]に移動します。そこから、そのラベルに含まれているファイルのバージョンを確認できます。

チームはこれが理想的ではないと確信しています。TFSの次のバージョン(Team Foundation Server 2010、コードネーム「Rosario」)には、ラベルを見つけやすくするための履歴ビューの改善が含まれます http:/を参照) /go.Microsoft.com/?linkid=780794 TFS2010の履歴ビューの改善仕様について。

ところで-私は実際にTFSを使用したチェンジセットベースのビルド番号付けに移行しました。これにより、ラベル付けの必要性が少なくなります。詳細については、 http://www.woodwardweb.com/vsts/changeset_based.html を参照してください。

お役に立てば幸いです。

マーティン。

21
Martin Woodward

この問題は私たちを殺してきました。

私が見つけた最善の解決策は、ここで無料で入手できるTeam Foundation SideKicksと呼ばれるサードパーティツールを使用することです http://www.attrice.info/cm/tfs/

「HistorySidekick」の下にラベルタブがあります。任意のフォルダまたはファイルを強調表示すると、そのフォルダまたはファイルにドロップされたすべてのラベルと、どの変更セットが表示されます。残念ながら、ラベルが含まれているフォルダまたはファイルの履歴の完全なビューを表示することはできません。

「ラベルサイドキック」の下で、特定のラベルを強調表示して、ラベルに含まれるフォルダ/ファイルとチェンジセットを確認できます。この機能は、Visual Studio内から利用できる機能とほとんど同じであり、それほど役に立ちません。

注意点の1つは、TFSサーバー2008以降が必要なことです。 TFS Server 2005でツールを使用すると、非常に時間がかかり、基本的に使用できなくなります。

-ephi

5
Ephi

[TFSスタイルのラベルは複雑であるため、フォルダーに適用する場合、これは非常に難しい問題です。上記のコメントに基づいて、ファイルのラベルを検索するだけで十分だと思います]

残念ながら、これはTFSクライアントAPIの数少ないエッジケースの1つであり、tf.exeまたはVS2008のどこにも公開されていません。 APIを直接呼び出す必要があります。 http://msdn.Microsoft.com/en-us/library/bb138967.aspx を参照してください-「versionFilterItem」パラメーターは、探していることを実行します。

4
Richard Berg

TFS 2010には、ブランチの履歴で(「変更セット」ではなく)非常に便利な「ラベル」ビューがあります。残念ながら、すべての子ブランチ/フォルダーのラベルではなく、選択したブランチのラベル​​のみが表示されます。

2

これを行うために独自のSQLを作成し、TFSデータベース自体に対して直接実行しようと試み始めました。このSQLはTFS2008に対して実行されました。この小さなスニペットには、最後に作成されたブランチ/変更されたラベルが最初に並べられたすべてのブランチのすべてのラベルと変更セットが表示されます。これを開発する次のステップは、どういうわけかチェンジセットとラベルをトラバースして、興味のある領域(「メイン」や特定のブランチなど)のみを戻すことです。これらすべてを実行するSQLを作成した場合、それは非常に遅く、特定のファイルの履歴を調べたい完全なGUIがないだろうと想像します。そのラベルを参照してください。ため息をつきます。

select DisplayName, cs.CreationDate, Comment, 'CheckIn' 
from TfsVersionControl.dbo.tbl_Identity i, TfsVersionControl.dbo.tbl_ChangeSet cs 
where cs.ownerid = i.IdentityId
union
select DisplayName, LastModified, Comment, 'Label' 
from TfsVersionControl.dbo.tbl_Identity i, TfsVersionControl.dbo.tbl_Label l 
where l.ownerid = i.IdentityId
order by 2 desc
1
Mike Sage

以前、これには TFSブランチ履歴 を使用しました。これは世界で最も優れたUIではなく、ファイルごとに履歴を表示することしかできませんが、作業は完了します。

0
Ryan