Дешево не то же самое, что бесплатно.Клонирование создает новый репозиторий, который по своей природе требует затрат места - если вы не хотите, чтобы он находился где-то еще на диске, зачем вам клонировать?Однако это сравнительно дешево, как вы заметили, клонирование репозитория объемом 1 ГБ добавляет всего ~ 200 МБ к месту, занимаемому в родительском каталоге, поскольку Mercurial достаточно умен, чтобы идентифицировать информацию, которую не нужно дублировать.
Я думаю, в целом, вам нужно перестать беспокоиться о тонкостях работы Mercurial (или любой DVCS / VCS).Считается, что использование контроля версий занимает больше дискового пространства и занимает много времени.По мере того, как количество данных и количество изменений увеличивается, увеличивается и пространство и время.Чего вы не понимаете, так это того, что эти затраты значительно перевешивают преимущества контроля версий.Душевное спокойствие в том, что ваша работа безопасна, что вы ничего не можете случайно испортить, и возможность взглянуть на вашу прошлую работу, а также простота ее распространения в случае DVCS намного ценнее.
Если ваши опасения действительно перевешивают эти преимущества, вам следует просто придерживаться простой файловой системы и использовать FTP для обмена / распространения / фиксации исходного кода.
Обновление
Относительно комментария Ромкинса: Вы загружаете большое количество данных.Загрузка большого количества данных занимает время, независимо от того, что это такое.Нет никакого способа обойти этот факт, и Mercurial, ни какая-либо другая VCS не могут заставить его работать быстрее.
Преимущество Mercurial и распределенной модели заключается в том, что вы оплачиваете эту стоимость только один раз.Поскольку вся работа выполняется локально, вы можете фиксировать, возвращать, обновлять и т. Д. Содержимое своего сердца без каких-либо затрат на работу сети и выполнять сетевые операции только для извлечения и передачи изменений, что встречается относительно редко.В централизованной VCS вы вынуждены выполнять сетевые операции в любое время, когда захотите что-то сделать с вашим исходным кодом.
Кроме того, я просто попытался клонировать mozilla-central самостоятельно, чтобы посмотреть, сколько времени это займет, изагрузка наборов изменений и манифестов заняла 5 минут, загрузка фрагментов файла - 20 минут, а затем обновление по умолчанию (не ограниченное сетью) - 10 минут.35 минут, чтобы получить всю кодовую базу для Mozilla вместе со всей историей изменений, не так уж и плохо.И даже в этом крупном проекте с ~ 500 000 файлов и ~ 62 000 изменений хранилище всего на 15% больше рабочего каталога, что возвращает нас к исходному вопросу.
Стоит отметить, что клонированиерепозиторий не лучший способ загрузить исходный код.Если вам нужна только кодовая база, вы можете получить release . Mercurial Web Interface также позволяет просматривать кодовую базу , не загружая ничего, и вы можете скачать полные архивы любой ревизии по ссылкам на архивы (bz2, zip, gz) вверхукаждой страницы.Все эти опции работают быстрее, чем полный клон.Клонирование репозитория необходимо только , если вы хотите активно разрабатывать кодовую базу Mozilla, а не тогда, когда вам нужны только файлы.