2017-11-22 3 views
0

here 문서를 읽으면 내 목표를 달성하는 올바른 방법이 무엇인지 분명하지 않습니다.특정 날짜 또는 변경 집합 ID 다음에 명령 줄을 사용하여 TFS에서 병합 후보를 찾습니다.

체크 인 코멘트에 특정 키워드를 사용하여 변경 집합을 근거없는 병합으로 바꾸고 싶습니다. Branch A에서 Branch B으로 변경했습니다. 이 두 가지는 같은 부모를 공유하지만 부모와 자식 간의 관계는 공유하지 않습니다.

그러나 특정 날짜 이후에 커밋 된 변경 집합, 특정 임계 값보다 큰 ID를 사용하는 또는 변경 집합에만 관심이 있습니다. 즉, DD/MM/YYYY 이후 커밋 된 변경 집합 중 병합 후보자를 찾거나 전체 기록을 검색하지 않는 한 XXXXXX보다 큰 ID를 사용하는 변경 집합 중 병합 후보자를 찾는 것은 중요하지 않습니다.

어떻게 명령 줄에서이 작업을 수행 할 수 있습니까? 여기

답변

0

그것을 수행하는 방법입니다 :

$tf = get-item "c:\program files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\TF.EXE" 
$lastMergedChangeNumber = 123456 
$changesetsToMerge= 
    & $tf merge /baseless /candidate $/path/to/source . /recursive | ? { $_ -like '*SearchPatternHere*' } | % { $_.Split()[0]} | % { $_.Substring(0,6) } | % { [int]$_ } | Where-Object {$_ -gt $lastMergedChangeNumber } 
if ($customBranchChangesetsToMerge -eq "There are no changes to merge." -Or !$customBranchChangesetsToMerge) { 
    echo "*** No changesets found to merge. ***" 
    return 
} 
etc.