2009-03-13 5 views
2

TFS 소스 제어에서 특정 파일의 특정 버전에 적용되는 레이블 목록을 가져 오려고합니다. 지금까지 특정 파일의 모든 버전에 적용되는 일련의 레이블을 받았습니다. 누구든지 특정 항목에 대한 레이블을 얻는 데 어떤 경험이 있습니까?TFS 소스 컨트롤의 특정 버전의 항목에 레이블을 적용하십시오.

예를 들어, 변경 집합 301, 401 및 601에서 수정 된 $/Project/Folder/Item.cs가 있습니다. 레이블 Build1 - 프로젝트의 Build 99가 있습니다. Build1 - Build10이 변경 집합 301 이전에 적용되었습니다 (즉, Item.cs가 생성되기 전). Build96 - Build99가 Item.c60의 v601에 적용되었습니다. 내가 뛰면

vcServer.QueryLabels(null, "$/Project", null, false, "$/Project/Folder/Item.cs", new ChangesetVersionSpec(6)) 

나는 결과로 Build11 - Build99를 얻는다. 나는이 많은 레이블보다 적은 수의 반환 쿼리를 얻는 방법을 알아 냈습니다. 이상적으로, 내가 실행 한 쿼리는 4 개의 레이블 (Build96 - Build 99)을 반환합니다.

이 질문의 컨텍스트는 빌드 서버용 CCNET이있는 TFS 프로젝트입니다. 작업 항목 번호와 함께 작업 항목을 빌드에 연결하려고합니다.

팁이 있습니까? 또는 QueryLabels의 예? 또는 MSDN docs보다 QueryLabels에 대한 문서가 더 좋습니까?

답변

0

현재 TFS 버전이 not possible 인 것처럼 보이지만 그 다음 버전 일 수 있습니다.

1

API를 사용하여 원하는 작업을 확실히 수행 할 수 있습니다. 다른 질문에 대한 대답은 UI의 역사와 함께 인라인 레이블을 보는 것입니다.

내가 당신이하고 싶은 생각하는 일에 대한 자세한 내용은 다음을 살펴 걸릴 :

을 또한

홉 도움이되는 e.

마틴.

+0

나는 빠른 것을하려고 노력하고있다. 이러한 링크의 접근 방식은 매우 빠르게 실행되지 않습니다. 나는 API가이 작업을 수행 할 수 : 상단을 선택 tbl_Label 리터 에서 * 1에 tbl_LabelEntry 르 가입 l.LabelId = le.LabelId 곳 le.VersionFrom> = @ver 및 l.LabelName LIKE 'CIBuild %의' l.LastModified 오름차순으로 주문 –

2

이 가능 여기를 참조 : 당신이 레이블의 목록을 다시 일단 http://social.msdn.microsoft.com/Forums/en-US/tfsversioncontrol/thread/9f41f37e-4fda-4b56-91a3-f2b7e0c0e22d

기본적으로, 각 라벨을보고 당신이 그것을 적용에 관심있는 항목에 어떤 변경 집합 볼 수 있습니다. QueryLabels에 "includeItems = false"플래그를 전달하십시오. 그렇지 않으면 레이블의 모든 항목을 살펴 봐야합니다.