Все возможно.Но это было бы сложно.
Бит, где сетевой транспорт имеет значение, заключается в клонировании репозитория, и стандартные способы сделать это зависят либо от обслуживания по HTTP, либо от доступа SSH кхост репозитория.Насколько я вижу, транспорта для клонирования на основе FTP нет.
Если у вас есть механизм совместного использования only , то вы, вероятно, могли бы что-то решить, используя Mercurial bundles..Процедура будет выглядеть примерно так:
- Отправьте свои изменения в локальный репозиторий
- Создайте пакет, используя
hg bundle --all my-bundle.hg
- FTP
my-bundle.hg
длясервер
Другие пользователи хранилища могут затем использовать FTP для извлечения файла my-bundle.hg
на свой локальный компьютер, перейти к своей локальной копии хранилища, а затем hg pull my-bundle.hg
, чтобы извлечь любойревизии, которые находятся в комплекте, но не в локальном репозитории.Когда они хотят поделиться своими изменениями, они создают новый пакет, как указано выше, и отправляют его обратно на сервер.Опция --all
помещает все наборов изменений в файл комплекта - вы можете быть умнее и экспортировать только «недавние» изменения, но это становится немного сложнее и рискует потерять наборы изменений: использование --all
является жестоким, но отказоустойчивым.
Очевидно, что здесь есть достаточно места для путаницы, условий гонки (могут помочь имена файлов с временными метками) и удаления волос, и ваши пользователи, несомненно, оценят некоторые сценарии длясделать это проще, но если у вас есть только FTP-сервер, у вас не так много вариантов.
Удачи.