2008-09-22 12 views

Odpowiedz

127

Powinno Ci to umożliwić Visual Studio Power Tools.

C:\src\2\Merlin\Main>tfpt unshelve /? 
tfpt unshelve - Unshelve into workspace with pending changes 

Allows a shelveset to be unshelved into a workspace with pending changes. 
Merges content between local and shelved changes. Allows migration of shelved 
changes from one branch into another by rewriting server paths. 

Usage: tfpt unshelve [shelvesetname[;username]] [/nobackup] 
        [/migrate /source:serverpath /target:serverpath] 

shelvesetname   The name of the shelveset to unshelve 
/nobackup    Skip the creation of a backup shelveset 
/migrate    Rewrite the server paths of the shelved items 
         (for example to unshelve into another branch) 
/source:serverpath  Source location for path rewrite (supply with /migrate) 
/target:serverpath  Target location for path rewrite (supply with /migrate) 
/nobackup    Skip the creation of a backup shelveset 

Na przykład, aby scalić zestaw półek o nazwie „półek Set Name” utworzonego na Branch1 do Branch2 użyć tego:

>tfpt unshelve "Shelve Set Name";domain\userName /migrate /source:"$/Project/Branch1/" /target:"$/Project/Branch2/" 
+2

Ooohhh ... Curt, myślę, że po prostu made my day. Będę musiał spróbować tego później. – Herms

+0

Skąd masz narzędzia elektryczne? – Guy

+3

Tak, narzędzia elektromechaniczne POWINNY Ci to umożliwić, ale niestety połączenie idzie strasznie źle za każdym razem, więc jest obok bezużyteczne. –

1

Informacje o półce obejmują określoną ścieżkę, do której się udają. Niestety nie znam żadnego automatycznego sposobu, aby nie dopuścić do żadnego innego położenia poza tym, na którym zostało odłożone. Czasy, w których chciałem to zrobić, musiałem sprawdzić równoważne pliki w nowym oddziale, odseparowane od starego oddziału, a następnie ręcznie skopiować pliki.

EDYCJA: Cóż, myślę, że robiłem to na własnej skórze. Będę musiał wypróbować rozwiązanie Curt'a. :)

34

rozwiązanie alternatywą dla tftp że unika konieczności połączyć każdy plik ręcznie

Problem z narzędziem zasilania tfs jest taki, że you're doing a 'baseless merge' so have to confirm every file. Miałem półki z ponad 800 plikami i nigdy nie ufałem przyciskowi "auto merge" i nie chciałem po kolei przeglądać każdego pliku - więc musiałem znaleźć inny sposób!

  • Pobierz i zainstaluj TFS Shelveset Sidekick.
  • Narzędzie pojawia się w „Narzędzia” w VS2010
  • uruchomić narzędzie „Shelveset Sidekick” kliknij przycisk Wyszukaj, aby wyświetlić shelvesets
  • Kliknij prawym przyciskiem myszy na shelveset i wybierz „wywóz Shelveset”
  • Zapisz w pustym miejscu takich jak C:\temp\shelveset-name
  • teraz mieć pełną strukturę katalogów zawierający tylko nowe pliki

(Uwaga: nie ma pasek postępu przy eksporcie - więc jeśli masz dużą shelveset że zajmuje dużo ti do wyeksportowania będziesz musiał po prostu sprawdzić w Eksploratorze Windows (Plik> Właściwości> Rozmiar), że pliki wciąż spadają, jeśli uważasz, że jest zamrożony).

Teraz wystarczy skopiować je do nowego oddziału za pomocą Eksploratora Windows.

Ten pracował dla mnie:

  • Sprawdzanie całe rozwiązanie pierwszy (w nowym oddziale)
  • blisko, że rozwiązanie
  • Take TFS w trybie offline z poziomu VS (Tool to do this) - patrz niżej dlaczego to jest ważne ...
  • Skopiuj pliki w Eksploratorze Windows. Struktura katalogów w c:\temp\shelveset-name będzie musiała zostać zmieniona tak, aby odpowiadała nowej gałęzi. Wskazówka: Upewnij się, że skopiowałeś we właściwe miejsce !!!
  • Doprowadzić VS Internecie
  • Należy znaleźć wszystkie zmiany i dodać nowe pliki
  • Jeśli poprosi się wiązało sourcecontrol należy zweryfikować ścieżka jest poprawna dla nowego oddziału.
  • Test - a następnie sprawdzał nowe pliki

Ważne: Odkryłam, że jeśli nie pierwszy wziąć TFS w trybie offline, a następnie będziesz skończyć z jakichkolwiek nowych plików (z Twojego unshelves changeset) pokazujący bez małego czerwonego znaczka wyboru, musisz je wykluczyć i dodać ponownie, aby je dodać. Jeśli ktoś ma alternatywne rozwiązanie tego problemu, chciałbym wiedzieć - odświeżenie nie działa.

+0

Ta metoda jest łatwiejsza dla większych półek i jest tą, którą śledziłem. Dzięki! – Ani

+0

Ta metoda jest lepsza dla większych zestawów półkowych – Aamir

+0

Cóż, możesz uciec bez odbierania TFS w trybie offline. Ale nie jestem pewien, czy to jest tego warte. To, co zrobiłem, to uruchomić akcję Porównaj - w Eksploratorze sterowania źródłami z menu kontekstowego otwartego w odpowiednim folderze. Można filtrować dane wyjściowe, aby pokazać tylko te, które są różne. Następnie pozwala na wielokrotny wybór na nich i Sprawdź wszystkie z nich na raz. Ale myślę, że pobieranie TFS w trybie offline jest szybsze i prostsze. – mark

Powiązane problemy