2013-04-23 11 views
6

I sklonowanego TFS repo do mojego lokalnego Git a następnie próbuje zmienić TFS zdalnego do innego repozytorium transmitować wszystkie Zestawienia zmian do niego za pomocą następujących poleceń:git-TF naciskać wszystkie zmiany do innego repozytorium TFS

git tf --force configure http://tfs2012:8080/tfs/DefaultCollection $/ProjectName 

git tf checkin 

Po otrzymaniu następującego błędu:

git-tf: TF14019: The changeset 31129 does not exist 

Co jest nie tak?

PS: Stare repozytorium ma wersji 2010, a nowy jest 2012. Nowy magazyn jest pusty

Odpowiedz

3

byłbym niedbały, gdybym nie wspomnieć, że git-tf nie miał być zamiennikiem dla właściwe narzędzie do migracji i integracji.

To powiedziawszy, jeśli chcesz spróbować, nie możesz po prostu git tf clone repozytorium, a następnie git tf checkin na inny serwer. git-tf map zatwierdza zestawy zmian, aby zapewnić spójność w repozytoriach git i TFS. Tak więc po zmianie pilota, szuka tych zestawów zmian na nowym serwerze.

Jeśli naprawdę chcesz przekazać to na nowy serwer, musisz usunąć zestaw zmian, aby zatwierdzić mapę.

Najprostszym i najskuteczniejszym sposobem na to - bez naruszania danych konfiguracyjnych - jest po prostu sklonowanie repozytorium git i ustawienie sklonowanego repozytorium na nowym serwerze. Następnie można git tf checkin do niego:

$ git clone ~/path/to/repo ~/path/to/cloned_repo 
Cloning into cloned_repo... 
done. 
$ cd ~/path/to/cloned_repo 
$ git-tf configure https://youraccount.visualstudio.com/DefaultCollection $/YourProject 
Configuring repository 
$ git-tf checkin 
Connecting to TFS... 
Checking in to $/YourProject: 100%, done.        

Od git-tf odwzorowuje tylko jeden repozytorium TFS ta pozwala również zrobić przyrostowych ruchów. Jeśli po początkowej migracji pojawią się nowe zestawy zmian, które chcesz przenieść, możesz przenieść je do sklonowanego repozytorium git, a następnie przenieść je na nowy serwer TFS bez ponownej konfiguracji.

$ cd ~/path/to/cloned_repo 
$ git pull ~/path/to/repo 
$ git-tf checkin 
Connecting to TFS... 
Checking in to $/YourProject: 100%, done. 
+2

Odkryłem również, że usunięcie 'folderu .git/git-tf' może zrobić tego samego efektu – skayred

+0

dzisiaj rozumiane, co wyjaśnione. Teraz zadziałało dla mnie. Niemniej jednak ta odpowiedź może być lepsza, jeśli dodasz instrukcję krok po kroku po wyjaśnieniu kroków w sposób narracyjny. Zacząłem od tej odpowiedzi, po kilku dniach w końcu zrobiłem kroki tak, jak to opisałeś. Musiałem nauczyć się tego na własnej skórze. –

+0

@SaschaGottfried Cieszę się, że to było pomocne i przepraszam za zamieszanie. Dziękuję za poprawki, zgadzam się, że jest to o wiele bardziej użyteczne. –

Powiązane problemy