2012-10-08 16 views
17

Utworzone lokalne repozytorium hg dla nowego projektu: hg init ; hg addremove, następnie stworzyłem puste repo na wyższym poziomie i pchnąłem tam pierwszą wersję: hg push https://remoterepo.Jak ustawić Mercurial upstream

Teraz chcę ustawić ten domyślny https://remoterepo, więc mogę po prostu zrobić hg push/pull bez podawania go.

Byłem zaskoczony, że Google nie udzielił mi prostej odpowiedzi z "ustawionym mercurial upstream" i nie znalazłem bezpośredniej odpowiedzi w SO. Tak więc, dla dobra wszystkich osób używających SO jako poradnika, jaki jest właściwy sposób, aby to zrobić?

Odpowiedz

23

Można to zrobić poprzez dodanie upstream URL do /project/.hg/hgrc tak:

[paths] 
default = ssh://[email protected]/repos/something 
upstream = ssh://[email protected]/repos/something_else 

i teraz upstream jest aliasem dla repo something_else które można następnie wyciągnąć z lub wcisnąć do:

hg pull upstream 
hg push upstream 

Reference

hg help urls:

adresy URL mogą być zapisywane w pliku konfiguracji ze ścieżką aliasy pod Sekcja [Paths] tak:

[paths] 
    alias1 = URL1 
    alias2 = URL2 
    ... 

Następnie można użyć aliasu dla każdej komendy że używa adresu URL (na przykład hg pull alias1 będzie traktowany jako hg pull URL1).

Dwa aliasy ścieżek są wyjątkowe, ponieważ są one używane jako domyślne, jeśli nie podać adres URL do polecenia:

  1. domyślnej
  2. default-Push
+0

dodając tylko 'default = ...' zrobił lewę dla mojego konkretnego przypadku (używając hg pull/push bez żadnych dodatkowych argumentów), dziękuję. – hyde

+0

@hyde Cieszę się, że mogę pomóc :) –