2012-07-26 13 views
5

Mam projekt z wersją.2 i muszę zacząć nad nim pracować, aby opracować nową wersję. Chcę utworzyć nowe repo na zdalnym serwerze (tj. Serwerze rtęciowym), aby mój członek zespołu mógł uzyskać dostęp do tego repo. Mam mój plik projektu na moim komputerze lokalnym.Tworzenie nowego zdalnego repozytorium dla istniejącego projektu z Mercurial

Mam dwa pytania dotyczyły:

  1. Jak mogę utworzyć go w /home/hg/repositories/private/project3 (Powiedzmy, że nowa nazwa repo byłoby project3) zdalnego serwera mercurial z moich plików projektu. Jakie kroki należy wykonać, aby to zrobić.

  2. W jaki sposób mogę utworzyć uprawnienie dostępu (nazwa użytkownika/pismo), aby mój zespół miał dostęp do tego repo na http://dev.myproject.com/private/project3.

Uwaga:/home/hg/repositories/ jest domyślny dla http://dev.myproject.com/ i nie mam repo wersji 2 (klon nie jest możliwe Chyba!)

+0

serwer mercurial nie jest serwerem Mercurial. To nie jest nawet serwer Mercurial. Jest to trzecia aplikacja, która dodaje pewne elementy zarządzania użytkownikami do warstwy ssh, która jest jednym z mechanizmów transportowych Mercurial wspiera natywnie. Niemal zawsze powoduje więcej zamieszania niż pomoc. –

+0

Usunąłem twój tag apache, ponieważ mówimy tylko o ssh - nie o apache. To (i hgweb.cgi) są czymś innym. –

Odpowiedz

7

Bez instalowania dodatkowego oprogramowania po stronie serwera swój zespół będzie potrzebował konta ssh na to pudełko. Zakładam, że masz jeden i że możesz je stworzyć dla swoich przyjaciół. Jeśli nie masz takiej konfiguracji, lepiej jest użyć bitbucket, który jest darmowy i zapewnia dostęp zarówno do ssh, jak i ftp.

Nie można również powiedzieć, że projekt2 znajduje się już pod kontrolą Mercurial, więc zakładam, że tak nie jest.

Aby utworzyć zdalnego repo chcesz zrobić coś takiego na lokalnym komputerze:

hg init project3 # <-- creates a new empty respository 
cp ALL_THE_PROJECT3_FILES_YOU_WANT project3 # <--- put the files you want into project3 
cd project3 # <-- go into your local project3 repository 
hg addremove # <-- LOCALLY add the files you copied in 
hg commit -m "initial commit copied in project2" # <-- LOCALLY commit the files 
cd .. # <---- go up a directory 
hg clone project3 ssh://[email protected]//home/hg/repos/project3 # clone the repo over to the server 

swojej drużyny można następnie sklonować dół za pomocą:

hg clone ssh://[email protected]//home/hg/repos/project3 

Oto kilka rzeczy, które może przypadkowo zbankrutować na drodze do uzyskania tego działającego:

  • Znajomi trzeba ssh kont
  • znajomym konta muszą odczytu/zapisu do /home/hg/repos

Zauważ, że wszystko dzieje się na klonowanie ssh. Konfiguracja HTTP jest trudniejsza i prawdopodobnie nie jest to coś, co musisz zrobić.

Poważnie, po prostu użyj bitbucket.

+0

Dziękuję za poświęcenie czasu, aby mi pomóc. Próbuję, jeśli będę miał jakiś problem, będę komentować. –

+1

klon hg. ssh: //[email protected]//home/hg/repos/project3 sklonuje zdalne repo do lokalnego, a nie odwrotnie. Chcę odwrotności. Stworzyłem repo na lokalnym z moimi plikami, teraz chcę sklonować je do zdalnego serwera. –

+0

To działało! ale kiedy mam dostęp do http: //dev.myproject.com/private/project3 Dostaję stronę błędu, na której jest napisany kod Pythona. –

Powiązane problemy