2010-10-01 3 views
6

Я включил нашу внутреннюю кодовую базу для использования Mercurial с размещенным удаленным репозиторием. Я читал, что использование Mercurial по SSH вместо HTTPS происходит быстрее, потому что данные сжимаются до их отправки. Но ... по сравнению с HTTPS, это очень больно настраивать, особенно в Windows.Mercurial - HTTPS или SSH?

Для тех из вас, кто использовал оба регулярно на крупных проектах ...

  1. ли прирост производительности стоит головная боль создания общественности/закрытых ключей для каждого пользователя, и дело с другими привередливы проблемы с конфигурацией?
  2. Есть ли даже заметный прирост производительности? I не видели одного на меньших проектах.
  3. Безопасен ли SSH?
  4. Проводите ли вы политику использования одного над другим, или пусть каждый разработчик выбирает?

ответ

7

Да, для очень большого хранилища рекомендуется использовать SSH как Mercurial для большого репо. Mercurial способен сжимать данные, отправляемые как для ssh, так и для https, поэтому вы можете нажать и потянуть быстрее. Кроме того, по умолчанию Mercurial не использует сжатие при отправке или извлечении данных через SSH. Вам нужно будет включить его через конфигурацию.

Есть два способа сделать это:

  1. Сообщить Mercurial, который команда SSH для запуска
  2. Укажите сжатие в файле ~/.ssh/конфигурации

In.hgrc

# Use compression 
ssh = ssh -C 

Чтобы указать его в конфигурационном файле SSH, отредактируйте файл ~/.ssh/config

.

Все сказанное, установка HTTPS проста. Если у вас есть это, просто используйте его, если только вы не собираетесь писать мегатонные рамки.

+0

Похоже, что HTTPS предоставит мне все, что мне нужно для моих (относительно небольших) проектов ... производительности, простоты настройки и безопасности. Благодарю. –

+1

Следует отметить, что этот элемент находится в разделе .hgrc [ui]. –

4

Либо все прекрасно работает; идти с тем, что вам легче.

HTTPS также выполняет сжатие перед шифрованием, так что это не большая проблема. Единственное реальное различие, которое я видел, заключается в том, что клоны могут отменить для огромные репозиции по HTTP, но люди всегда могут попробовать.

Мне лично нравится использовать https в качестве настройки только для чтения, чтобы люди могли просматривать/просматривать/клонировать, а затем использовать ssh для всех записей и позволять клонировать/вытягивать из ssh тоже.

Многие люди начинают с доступа ssh, поскольку у них уже есть учетные записи пользователей UNIX для всех, поэтому дополнительной установки не требуется.

Если у вас уже есть https, просто используйте его.

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