Czy w tfs 2008 mogę przenieść się do innej gałęzi?

Załóżmy, że jakiś programista w moim zespole odłożył swoje zmiany, które zrobił w gałęzi A. a ja pracuję nad gałęzią B. Czy mogę odłożyć jego zmiany na gałąź B? (Przez GUI lub wiersz polecenia)

Author: spinodal, 2008-09-23

4 answers

Visual Studio Power Tools

Powinno ci na to pozwolić.

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 połączyć zestaw półek o nazwie "Nazwa zestawu półek" utworzony na rozgałęzieniu 1 do rozgałęzienia 2 Użyj tego:

>tfpt unshelve "Shelve Set Name";domain\userName /migrate /source:"$/Project/Branch1/" /target:"$/Project/Branch2/"
 128
Author: Curt Hagenlocher,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-06 14:47:57

Alternatywne rozwiązanie dla tfpt, które pozwala uniknąć konieczności ręcznego scalania KAŻDEGO pliku

Problem z elektronarzędziem tfs polega na tym, że wykonujesz "bezpodstawne scalanie", więc musisz potwierdzić każdy plik . Miałem półkę ponad 800 plików i nigdy nie ufałem przyciskowi "auto merge" i nie chciałem przeszukiwać KAŻDEGO pliku po kolei - więc musiałem znaleźć inny sposób!

  • Pobierz i zainstaluj TFS Shelveset Sidekick .
  • narzędzie pojawia się pod "Narzędzia" w VS2010
  • uruchom narzędzie 'Shelveset Sidekick', kliknij Szukaj, aby wyświetlić shelvesets
  • kliknij prawym przyciskiem myszy na zestaw regałów i wybierz "Eksportuj zestaw regałów"
  • Zapisz do pustej lokalizacji, takiej jak C:\temp\shelveset-name
  • teraz mają pełną strukturę katalogów zawierającą tylko nowe pliki

(uwaga: nie ma paska postępu podczas eksportowania - więc jeśli masz duży zestaw półek, który zajmuje dużo czasu, wystarczy sprawdzić w Eksploratorze Windows (Plik > Właściwości > Rozmiar), że pliki nadal spadają, jeśli uważasz, że są zamrożone).

Teraz wystarczy skopiować je do nowej gałęzi za pomocą Eksploratora Windows.

To mi pomogło:

  • sprawdzanie całego rozwiązania jako pierwsze (w nowej gałęzi)
  • Zamknij To rozwiązanie
  • Take TFS offline from within VS (narzędzie do tego) - zobacz poniżej, dlaczego jest to ważne...
  • kopiowanie plików w Eksploratorze Windows. Na struktura katalogów w c:\temp\shelveset-name będzie musiała zostać zmieniona, aby odpowiadała nowej gałęzi. wskazówka: upewnij się, że kopiujesz we właściwym miejscu!!!
  • Bring VS online
  • powinien znaleźć wszystkie zmiany i dodać nowe pliki
  • jeśli poprosi Cię o bindowanie sourcecontrol, upewnij się, że ścieżka jest poprawna dla nowej gałęzi.
  • Test - a następnie sprawdzenie nowych plików

Ważne: odkryłem, że jeśli najpierw nie weźmiesz TFS offline to skończysz z nowymi plikami (z zestawu zmian unshelves) wyświetlanymi bez małego czerwonego znacznika wyboru i będziesz musiał je wykluczyć i dołączyć ponownie, aby je dodać. Jeśli ktoś ma alternatywne rozwiązanie tego problemu to chętnie się dowiem-odświeżanie chyba nie działa.

 34
Author: Simon_Weaver,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-21 02:27:45

Informacje o półce zawierają konkretną ścieżkę, do której idzie. Niestety nie znam żadnego automatycznego sposobu na odstawienie półki w inne miejsce niż to, w którym była półka. Razy chciałem to zrobić, musiałem sprawdzić równoważne pliki w nowej gałęzi, odłączyć od starej gałęzi, a następnie ręcznie skopiować pliki.

EDIT: cóż, chyba robiłam to w trudny sposób. Muszę wypróbować rozwiązanie Curta. :)

 1
Author: Herms,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-23 13:47:49

Spędziłem sporo czasu, aby to zrobić i miałem kilka problemów do przezwyciężenia. Jest to możliwe, ale tutaj kilka problemów i kilka zasad do przestrzegania avois te problemy

Błąd:

Nie można określić obszaru roboczego

Ten konkretny problem został rozwiązany poprzez uruchomienie polecenia z folderu głównego gałęzi Source . Jest to sprzeczne z niektórymi odpowiedziami na SO, gdzie mówią, aby użyć gałęzi" target "- Nie, użyj "source": {]}

cd [your !!source!! branch root]
tfpt unshelve /migrate /source:"$/MyCollection/Development/Maint1.1" /target:"$/MyCollection/Development/Maint1.2" "myShelveset;UserName"

Drugi numer ukazał się po to. Wygląda na to, że nie mógł połączyć się z serwerem TFS. Co zdałem sobie sprawę, mam wiele VS zainstalowane i podłączone do różnych serwerów TFS. Używałem VS12 i miałem połączenie z serwerem i przestrzenią roboczą. Ale nie zdawałem sobie sprawy, że to samo połączenie musi być replikowane w VS13 dla TFPT2013 do pracy. Łączy się z tym samym serwerem i przestrzenią roboczą.

Próbowałem również zrobić to za pomocą TFPT2015, ale zainstalowałem go i nie zainstalował TFPT.exe stąd to było bezużyteczne. Więc próbowałem z TFPT2013 do TFS2015 i to pracował dla tego konkretnego dowództwa. Zastanawiam się, dlaczego nie, jeśli VS12/13 działa dobrze przeciwko TFS2015?

Aby podsumować

  • użyj CMD lub DevCMD-nie ma znaczenia
  • uruchom polecenie z source Branch root folder
  • zweryfikuj połączenie serwera Team Explorer dla konkretnego VS
  • TF Power Tools 2013 działa przeciwko TFS v15, co najmniej migrate opcja działa
 0
Author: T.S.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-09 19:07:36