В чем проблема с абсолютными путями в.hgsub?

Ртутная документация рекомендует использовать тривиальные относительные пути в .hgsub и использовать [subpaths] для сопоставления с абсолютными путями. Я не до конца понимаю причины этого. Аргумент на странице документации состоит в том, что абсолютные пути более вероятно изменятся. Не будет ли решение с [subpaths] Требовать изменения тоже, когда меняется абсолютный путь?

Одна из причин, которую я могу понять (но в моем случае это не относится), заключается в том, что клоны клонов возможны только с использованием [subpaths] переназначить полные исходные пути к абсолютному пути. Если бы абсолютные пути использовались напрямую, клон клона выталкивал / извлекал из оригинала, а не первого клона. Это единственная причина против использования абсолютных путей без [subpaths] раздел?

1 ответ

Решение

Основная причина в том, что иногда пути меняются, а ваш.hgsub является частью истории. Если ваш подпункт перемещается с http://tinyco.com/hg/repo1 на http://bigco.com/tinydivision/hg/repo1 вы, конечно, можете обновить свой файл.hgsub, но старая версия на месте для прошлых ревизий. Таким образом, когда вы делаете hg update reallly_old_revision он попытается поговорить с http: /tinyco.com, который получил часть денег в рамках приобретения. Если вы сохраняете тривиальный путь в качестве пути subrepo, вы можете использовать [subpaths] в вашем .hg/hgrc чтобы указать, где он живет в настоящее время.

Кроме того, часто удобно указывать вложенные репозитории в отношении ваших собственных локальных клонов реального субрепортажа, чтобы вы могли подтолкнуть их, даже если вы не можете подтолкнуть к субреподавке (нет разрешения).

В общем, добавление слоя косвенности добавляет гибкости.

Другие вопросы по тегам