Часто я хочу иметь основной репозиторий исходного кода, который будет использоваться несколькими «похожими» проектами. Каждый подпроект содержит большинство одинаковых файлов, но является конкретным настраиваемым экземпляром. Это означает, что обычно существует множество файлов и каталогов, которые должны быть разными для каждого экземпляра.
В CVS я использовал для создания основного и вторичного репозитория, а затем использовал файл модулей, чтобы связать их вместе для определенного имени. В SVN я использовал svn: externals, чтобы связать вторичные каталоги с основными.
Что работает в Mercurial?