2012-07-26 2 views
5

У меня есть проект с версией.2, и я должен начать работать над ним для разработки новой версии.3. Я хочу создать новое репо на удаленном сервере (т. Е. Mercurial-server), чтобы мой член команды мог получить доступ к этому репо. У меня есть файл проекта на моей локальной машине.Создание нового удаленного хранилища для существующего проекта с Mercurial

У меня есть две заинтересованные вопросы:

  1. Как я могу создать его в /home/hg/repositories/private/project3 (Допустим, имя нового репо будет project3) дистанционного ртутным-сервер с моими файлами проекта. Какие шаги я должен выполнить, чтобы сделать это.

  2. Как создать разрешение доступа (usrname/pword), чтобы моя команда получала доступ к этому репо на http://dev.myproject.com/private/project3.

Примечание:/home/hg/repositories/ по умолчанию для http://dev.myproject.com/ и у меня нет репо версии 2 (клон не возможно, я предполагаю!)

+0

mercurial-server не является сервером Mercurial. Это даже не сервер Mercurial. Это стороннее приложение, которое добавляет некоторые элементы управления пользователями к слою ssh, который является одним из механизмов транспорта, поддерживаемых Mercurial. Это почти всегда вызывает больше путаницы, чем помощь. –

+0

Я удалил тэг apache, потому что мы говорим только о ssh - не apache. Это (и hgweb.cgi) - это что-то еще. –

ответ

7

без установки дополнительных на стороне сервера программного обеспечения вашей команде потребуется SSH счета на это коробка. Я предполагаю, что у вас есть один, и вы можете создавать их для своих друзей. Если у вас нет этой настройки, вам будет лучше использовать bitbucket, что бесплатно и обеспечит доступ как ssh, так и ftp.

Кроме того, вы не говорите, что если project2 уже находится под контролем Mercurial, я предполагаю, что это не так.

Чтобы создать удаленный репозиторий вы бы сделать что-то вроде этого на локальном компьютере:

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 

Ваши товарищи по команде могут затем клонировать вниз с помощью:

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

Вот некоторые вещи, которые вы может случайно испортиться по пути получения этой работы:

  • Ваши друзья должны SSH счета
  • своим друзьям счета нужно доступ на чтение/запись в /home/hg/repos

Обратите внимание, что все клонирование происходит через SSH. Настройка HTTP сложнее и, вероятно, не то, что вам нужно сделать.

Серьезно, просто используйте битбакет.

+0

Спасибо, что предоставили вам время, чтобы помочь мне с этим. Я пытаюсь, если у меня возникнут проблемы, я буду комментировать. –

+1

hg clone. ssh: //[email protected] //home/hg/repos/project3 будет клонировать удаленное репо на локальное, а не наоборот. Я хочу наоборот. Я создал репо на локальном с моими файлами, теперь я хочу клонировать его на удаленный сервер. –

+0

Работало! но когда я получаю доступ к http: //dev.myproject.com/private/project3 Я получаю страницу с ошибкой, на которой написан код python. –

Смежные вопросы