Местное хранилище Монтичелло

Я хотел бы запустить локальный HTTP-репозиторий Monticello на работе, чтобы мы могли легко обмениваться кодом между коллегами.

Есть ли способ запустить что-то похожее на SmalltalkHub в частном порядке?

РЕДАКТИРОВАТЬ:

Я попробовал все варианты здесь, и ни один из них, кажется, не работает гладко. Позвольте мне повторить варианты:

1) WebDAV на Apache, следующий за Стюартом. Я попробовал это, следуя некоторым онлайн-руководствам. Мой текущий dav.conf выглядит так:

DavLockDB /tmp/DavLock
Alias /pharo /opt/data/pharo
<Location /pharo>
  Order Allow,Deny
  Allow from all
  Options Indexes MultiViews
  Dav On
  AuthType None
</Location>

Я работал в течение нескольких дней. Тогда вдруг я не могу читать новые версии определенного пакета. Всякий раз, когда я пишу версию в изображении и читаю ее в другом, я получаю исключение ZnInvalidUTF8, Я не уверен, почему, возможно, у WebDAV есть проблемы с перечислением слишком большого количества файлов?

2) Настройка моего FTP. Кажется, это работает, но когда я пытаюсь установить этот репозиторий как удаленный в versionner, я получаю MCFtpRepository doesNotUnderstnd: #koRemote

3) SqueakSource3, следуя Тобиасу. Я попытался запустить две команды Gofer в Pharo2 и Pharo3. В Pharo2 он вообще не загружается. В Pharo3 более-менее все работает. Мне пришлось исправить несколько ошибок из-за устаревших или удаленных сообщений, но в итоге я могу создавать проекты и писать в них.

Проблема возникает, когда я читаю. Видимо SS3 хранит какой-то внутренний кеш. В результате список пакетов, которые я вижу на странице проекта, отличается от списка пакетов, которые получает клиент. Разница заключается в том, что клиенту нужна короткая версия страницы, например http://localhost:8080/ss/MyProject/?C=M;O%3DDи результатов там неизменно меньше, чем на полной странице http://localhost:8080/ss/MyProject,

Более того, даже на странице проекта список версий остается в кэше, пока я не перейду к другому проекту.

4) SmallTalkHub, следующий за Шоном. Я пробовал использовать изображения с сервера INRIA и изображения, предлагаемые загрузчиком Pharo-VM (они могут совпадать).

Мне пришлось снова установить Seaside, поскольку в загруженном образе не было ZnZincAdaptor. Теперь я могу запустить SmallTalkHub, но как только я пытаюсь зарегистрировать пользователя, я получаю сообщение об ошибке MessageNotUnderstood: receiver of "new" is nil, Я не могу отследить, откуда возникла эта ошибка (есть ли способ открыть отладчик на стороне сервера, вместо получения 500 в Приморском?).

После этой ошибки я вижу пользователя как в mongodb, так и в интерфейсе, но я не могу войти в систему.

5) Git, используя filetree, как предлагает Kylon. Это помешало бы мне использовать MetaCello для обработки зависимостей и выглядело еще более удобным, чем другие варианты.

На данный момент я в растерянности.:-(Если я хочу использовать Pharo, мне нужно будет иметь возможность сотрудничать с моими коллегами. Использование репозиториев с открытым исходным кодом не вариант, по крайней мере сейчас.

Существует ли простой, проверенный и проверенный способ создания такого хранилища?

SqueakSource3 или SmallTalkHub были бы еще лучше, благодаря их пользовательским интерфейсам, но мне действительно нужна хотя бы базовая совместная работа. Наличие опции, которая может работать на автономном сервере, также было бы большим плюсом, так как если это станет инструментом, который мы используем, будет невозможно разместить репозиторий на моем ноутбуке.

5 ответов

Решение

В дополнение к ответу Шона - если вам просто нужен репозиторий Metacello, и вам не обязательно нужен полный материал SmalltalkHub, то вам просто нужен сервер WebDav. Apache будет работать нормально, и я даже успешно использовал поддержку WebDAV в Confluence (с некоторыми изменениями) в прошлом.

По этой теме в списке рассылки Pharo Dev:

Настройка сервера:

  1. Загрузите изображение SmalltalkHub ( https://ci.inria.fr/pharo-contribution/job/SmalltalkHub/)
  2. Установите mongodb на свой компьютер (для Debian: apt-get install mongodb)
  3. Запустите образ SmalltalkHub
  4. Оценка: ZnZincServerAdaptor startOn: 8080
  5. Визит http://localhost:8080/tools/hub, создать аккаунт и проект

В дополнение к другим ответам:

  • Просто хранение ваших версий в DropBox работает очень хорошо!
  • Вы также можете установить SqueakSource3 (как SmalltalkHub, не требует MongoDB):

    Gofer new
       url:'http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main';
       package: 'ConfigurationOfSeaside3';
       load.
    ((Smalltalk at: #ConfigurationOfSeaside3) project version: #stable) load.
    Gofer new
       url:'http://www.squeaksource.com/MetacelloRepository';
       package: 'ConfigurationOfSqueakSource';
       load.
    ((Smalltalk at: #ConfigurationOfSqueakSource) project version: #bleedingEdge) load: #('All').
    

    Затем запустите свой адаптер (например, ZnZincServerAdaptor startOn: 8080) и перейти http://localhost:8080/instalSS

Другой способ - пойти по популярному маршруту Git. Я использую Github для своих проектов, и он прекрасно работает, в то время как сам Git работает очень хорошо и локально. Так что, если вы уже знакомы с Git, то это очень хороший выбор

Вы можете найти больше информации здесь https://ci.inria.fr/pharo-contribution/job/PharoForTheEnterprise/lastSuccessfulBuild/artifact/GitAndPharo/GitAndPharo.pier.html

Извините за плохой опыт smalltalkhub. Я сделал некоторые исправления в конфигурации, и нужно проверить, достаточно ли этого

Другие вопросы по тегам