2011-11-14 16 views
8

Dostałem klon repozytorium Mercurial i nie wiem, na której wersji Mercurial został stworzony repozytorium. Czy wszystkie repozytorium Mercurial są kompatybilne wstecz? To znaczy. czy mogę zainstalować najnowszą wersję Mercurial na moim komputerze i być w stanie wchodzić w interakcje z repozytorium OK, czy też mogą istnieć problemy nie znające wersji Mercurial, dla której stworzono repozytorium?Czy wersja Mercurial ma znaczenie?

+0

Kiedy mówisz " Dostałem klona ", masz na myśli, że uruchomiłeś' hg clone 'lub że ktoś spakował katalog i wysłał go do ciebie? –

Odpowiedz

4

piszę na blogu na ten temat:

Krótko obecnie nową wersję HG może działać na starych składowisk lokalnie, ale powróci zdanie fałszywe.

Protokół drut nie zmienia całej wersji HG więc można klon, ciągnąć, Push z dowolnej wersji HG do dowolnej wersji HG, które działają na http: // i ssh: // protokołów.

Jeśli masz dostęp do repozytorium na lokalnym systemie plików i nie jest obsługiwany, otrzymasz komunikat błędu jak:

 
abort: requirement 'fncache' not supported! 

To kontrolowane za pomocą słów kluczowych z wymaga pliki:

 
    $ cat repo/.hg/requires 
revlogv1 
store 
fncache 
dotencode 
+1

Podczas korzystania z protokołu SSH ważna jest wersja serwera Mercurial na serwerze. Możesz więc używać lokalnie starej wersji, aby rozmawiać z nowym repozytorium Mercurial na serwerze. Zmieniłem twoją odpowiedź, aby to odzwierciedlić. –

+0

@MartinGeisler Wiele chanków do korekty. Trudno wziąć pod uwagę wszystkie rzeczy, próbując zaoszczędzić czas osobisty, gdy odpowiedź w SO. – gavenkoa

+0

Nie ma za co, cieszę się, że mogę poprawić dobrą odpowiedź! –

3

Programistów Mercurial przejdź do great lengths, aby zapewnić zgodność wstecz.

Zmiany, które mogą wpływać na zgodność, są również wymienione w UpgradeNotes.

Powiązane problemy