Никакая бесплатная распределенная система контроля версий не поддерживает это. Если вы хотите эту функцию, вам придется ее реализовать.
Вы можете списать git: они заинтересованы в необработанной производительности для случая использования разработки ядра Linux. Маловероятно, что они когда-либо согласятся с компромиссом производительности при масштабировании до огромных двоичных файлов. Я не знаю о Mercurial, но они, похоже, сделали то же самое, что и git, связав свою операционную модель с моделью хранения для производительности.
В принципе, Bazaar должен поддерживать ваш вариант использования с помощью плагина, который реализует форматы дерева / ветви / репозитория, чья стратегия хранения и реализации на диске оптимизирована для вашего варианта использования. Если внутренняя архитектура блокирует вас и вы выпускаете полезный код, я надеюсь, что разработчики ядра помогут исправить внутреннюю архитектуру. Кроме того, вы можете заключить контракт на разработку функций с Canonical.
Вероятно, наиболее прагматичным подходом, независимо от конкретной DVCS, было бы создание гибридной системы: создание хранилища с огромными файлами и сохранение ссылок на большие двоичные объекты в этом хранилище на выбранную вами DVCS.
Полное раскрытие: я бывший сотрудник Canonical и тесно сотрудничал с разработчиками Bazaar.