Я хотел бы запустить локальный репозиторий HTTP Monticello на работе, чтобы мы могли легко делиться кодами между коллегами.Локальный репозиторий Monticello
Есть ли способ запустить что-то похожее на SmalltalkHub в частном порядке?
EDIT:
Я перепробовал все варианты здесь и ни один из них, кажется, работает нормально. Позвольте мне перечислить варианты:
1) WebDAV на Apache, после Stuart. Я пробовал это, следуя некоторым онлайн-руководствам. Мой текущий файл 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. Кажется, что это работает, но когда я пытаюсь установить этот репозиторий в качестве пульта в версии, я получаю MCFtpRepository doesNotUnderstnd: #koRemote
3) SqueakSource3, следуя Tobias. Я попытался запустить две команды Gofer как в Pharo2, так и в Pharo3. В Pharo2 он вообще не загружается. В Pharo3 работает более или менее. Мне пришлось исправить несколько ошибок из-за устаревших или удаленных сообщений, но в конце концов я могу создавать проекты и писать им.
Проблема возникает, когда я читаю. По-видимому, SS3 хранит какой-то внутренний кеш. В результате список пакетов, которые я вижу на странице проекта, отличается от списка пакетов, которые получает клиент. Разница, похоже, заключается в том, что клиенту требуется короткая версия страницы, например http://localhost:8080/ss/MyProject/?C=M;O%3DD
, и результаты там постоянно меньше, чем на полной странице http://localhost:8080/ss/MyProject
.
Кроме того, даже на странице проекта список версий остается кешированным, пока я не перейду к другому проекту.
4) SmallTalkHub, нижеследующий Sean. Я попытался использовать изображения с сервера INRIA и изображения, предлагаемые с загрузчика Pharo-VM (они могут быть одинаковыми).
Мне пришлось установить Seaside снова, так как в загруженном изображении не было ZnZincAdaptor. Теперь я могу запустить SmallTalkHub, но как только я попытаюсь зарегистрировать пользователя, я получаю сообщение об ошибке MessageNotUnderstood: receiver of "new" is nil
. Я не могу отслеживать, откуда эта ошибка (есть ли способ открыть отладчик на стороне сервера вместо сохранения 500 в Seaside?).
После этой ошибки я вижу пользователя как в mongodb, так и в интерфейсе, но я не могу войти.
5) Git использует filetree, как предложено Kylon. Это помешало бы мне использовать MetaCello для обработки зависимостей и выглядел бы еще более сложным, чем другие.
На данный момент я в затруднении. :-(Если я хочу использовать Pharo, мне нужно будет, чтобы иметь возможность сотрудничать со своими коллегами. Использование хранилищ с открытым исходным кодом не вариант, по крайней мере сейчас.
Есть простой, испытанный способ создать такой репозиторий?
SqueakSource3 или SmallTalkHub были бы еще лучше благодаря своим пользовательским интерфейсам, но мне действительно нужно, по крайней мере, базовое сопоставление. Наличие опции, которая может выполняться на безголочном сервере, также будет большим плюсом, как если бы это стало инструментом, который мы используем, это не будет возможным для размещения репозитория на моем ноутбуке.
Спасибо, на самом деле это хорошо работает! – Andrea
Фактически я понесся в маленькой проблеме, которая выглядит неуязвимой для меня. Я смог использовать это репо для совместного использования кода между изображениями. Затем, неожиданно, я не могу поделиться новыми версиями определенного пакета. Каждый раз, когда я загружаю новую версию этого пакета (что-то выше 8), я получаю исключение ZnInvalidUTF8.У вас есть некоторые предложения, как я могу начать изучать это? – Andrea
Вы установили набор символов в Apache? У вас есть широкие места в ваших mczs (umlauts в источнике?) –