Требуется, чтобы Mercurial изначально поддерживал использование S3 в качестве бэкэнда для хранения данных, и такого кода не существует. Вы можете , может * найти мост S3 для запуска в FUSE (или мост S3-> DAV, который вы, возможно, можете монтировать как файловую систему), а затем сказать Hg выдвигать и извлекать данные из этой виртуальной файловой системы, но в противном случае вам понадобится выделенный экземпляр ec2 для фактического обслуживания данных (вы можете запускать его по требованию, но, как вы, вероятно, хорошо знаете, задержка при этом довольно плохая).
Существует файловая система на основе FUSE для S3, которая называется s3fs , но похоже, что это в основном драйвер для коммерческого предложения.
(Отдельно, в зависимости от вашей архитектуры ec2 и при условии, что у вас есть перекрывающиеся периоды бездействия в нескольких экземплярах, вы можете теоретически использовать распределенную природу Hg, чтобы использовать существующие экземпляры для передачи изменений между собой, без " корневой "репозиторий. Если у вас есть только один экземпляр, конечно, это не стартер.)