2010-02-26 9 views
6

staram się wymyślić sposób, aby dowiedzieć się, które pliki zostały dotknięte elementu pracy w TFS 2008Sposób na poznanie wszystkich plików, których dotyczy problem elementu work lub rozszerzenia chgsets w TFS 2008?

Zdaję sobie sprawę, że jest to powielanie pytanie już poproszony przez kogoś innego tutaj - View a list of all files changed as part of a Workitem in TFS ale odszedł bez odpowiedzi, a ja byłem, od czasu do czasu, szukałem tego przez jakiś czas.

Rozumiem, że można wyświetlić zakładkę linków elementu pracy, a następnie wyświetlić każdy zestaw zmian, aby wyświetlić pliki, które zostały zmienione. Ale najprawdopodobniej element pracy zostanie zakończony wieloma powiązanymi z nim zestawami zmian i chciałbym przejrzeć pliki zmodyfikowane jako część elementu pracy, ale mam wrażenie, że prawdopodobieństwo utraty pliku lub dwóch jest bardzo wysokie, jeśli muszą polegać na indywidualnym spojrzeniu na każdy z ponad 100 zestawów zmian.

Czy ktoś wie o sposobie osiągnięcia tego? Z góry dziękuję za pomoc lub wskazówki.

Odpowiedz

3

Brzmi jak zadanie dla PowerShell ...

function Get-TfsItem([int] $workItemNumber) 
{ 
    Get-TfsServer njtfs -all | 
     foreach { $_.wit.GetWorkItem($workItemNumber) } | 
     foreach { $_.Links } | 
     foreach { ([regex]'vstfs:///VersionControl/Changeset/(\d+)').matches($_.LinkedArtifactUri) } | 
     foreach { $_.groups[1].value } | 
     Get-TfsChangeset | 
     Select-TfsItem | 
     Sort Path -Unique 
} 

Pierwszych kilka linii są trochę brzydki. Musimy bezpośrednio skorzystać z interfejsu API serwisu WWW, ponieważ polecenia cmdlet TFS nie obejmują systemu śledzenia błędów. A przedmioty, które otrzymujemy, wymagają miłości regularnej, zanim zrobią to, czego potrzebujemy. Rurociągi do "foreach" ponad & przez to niefortunny idiom Powershell, który powstaje, gdy łączysz nieprzyjazne API z kiepskim operatorem projekcji. (Używam osobiście my own replacement, ale nie można na tym polegać.)

Ostatnie 3 wiersze powinny być zrozumiałe, jeśli mój TFS Power Cmdlets jest zainstalowany & wykonujący swoją pracę.

+1

Muszę spróbować. Nie używałeś wcześniej powłoki powershell, masz linki do samouczków, które uważasz za szczególnie dobre? – Billyhole

1

Właśnie znalazłem wtyczkę Scrum Power Tools dla VS 2010, która robi to z kliknięciem przycisku w VSS, zainstalowanym i działa. http://visualstudiogallery.msdn.microsoft.com/3f261226-530e-4e9c-b7d7-451c2f77f262

Po prostu próbuję sprawić, aby wersja PowerShell 2010 działała. http://msdn.microsoft.com/en-us/vstudio/bb980963

Pierwszy problem polega na tym, że opcja powłoki pwoer nie jest domyślnie instalowana, należy użyć instalacji niestandardowej i wybrać tę opcję. Po zakończeniu w menu TFS Powertools 2010 pojawi się monit Powerhell, polecenia działają tylko tam.

Serwer get musiałem zastąpić njtfs adresem URL http://tfsserver:8080/tfs i usunąć -all. Skrypt wciąż nie działa.

Ostatecznie muszę raport szczegółowy, że list: źródło 'pozycja praca' 'zmiana zestaw'

Na przykład:
xyz.cs 'element roboczy 1' praca 'C397'
xyz.cs” pozycja 2 '' C399 '

W końcu muszę się przekonać, że przedmiot 1 jest zależny od przedmiotu pracy 2. Muszę również powrócić do pozycji roboczej 1, aby sprawdzić status.

Czy ktoś może pomóc przy pisaniu wersji 2010? Nigdy wcześniej nie pisałem PS.

1

Potrzebowałem dokładnie tego samego i napisałem dla mnie narzędzie TFS, używając TFS API. Pozwala zobaczyć wszystkie zmiany elementu pracy wyzwalane w czasie, a niektóre rzeczy więcej. Włożyłem go na codeplex. Możesz go uzyskać od:
tfshelper.codeplex.com

+0

Mam aplikację działającą po pobraniu źródła, naprawieniu odniesień do nowszej wersji i uaktualnieniu rozwiązania do .Net 4.5. Niestety mam niewystarczające uprawnienia na serwerze (potrzebuję uprawnień do "edycji informacji na poziomie instancji"). –

Powiązane problemy