2012-02-20 2 views
1

이 결과를 얻으려면 tfs 기록을 쿼리 할 수 ​​있습니까? 변경 집합 집합과 관련된 리소스를 그룹화 하시겠습니까? 제가 한 일은 지난 2 개월 동안 어떤 파일이 바뀌 었는지 이해하는 것입니다. TFS 탐색기에서 시도했지만 단일 변경 집합에서 세부 정보를 얻을 수 있습니다. TFS Sidekicks도 마찬가지입니다. 커맨드 라인에는 운이 없었고 데이터베이스에 직접 연결조차하지 않았습니다. 누군가 그 결과를 얻는 현명한 방법을 알고 있습니까?특정 변경 집합에 관련된 리소스를 그룹화하는 방법은 무엇입니까?

+0

그래서 지난 2 개월 동안 변경된 모든 파일 목록을 원하십니까? – DaveShaw

+0

예.하지만 실제로 그러한 목록을 얻는 방법을 찾을 수 없었습니다. –

답변

4

나는 VersionToVersionFrom을 얻는 방법을 모르므로 여기에서 100에서 Latest까지만 수행하고 있습니다. 소스 제어 탐색기에서 기록보기를 수행하고 VersionFromVersionTo을 얻을 수 있습니다.

다음은 TFS API를 사용하는 코드 스 니펫입니다. 어셈블리를 만들려면 Microsoft.TeamFoundation.* 어셈블리에 대한 참조를 추가해야합니다.

using (var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(CollectionAddress))) 
{ 
    var server = tfs.GetService<VersionControlServer>(); 

    var changes = 
     server.QueryHistory(
      "$/Project/Main", 
      VersionSpec.Latest, 
      0, 
      RecursionType.Full, 
      "", 
      VersionSpec.ParseSingleSpec("100", ""), //From ?? 
      VersionSpec.Latest,      //To ?? 
      100, 
      true, 
      true) 
    .Cast<Changeset>() 
    .SelectMany(changeset => changeset.Changes.Select(change => change.Item.ServerItem)); 
} 
+0

아직 TFS API 사용을 고려하지 않았습니다. 덕분에 정말 고마워. –

+0

@Diego 저의 첫 번째 장소입니다. 나는 결과를 즉시 얻을 수 있도록 LinqPad를 사용한다. – DaveShaw

관련 문제