В чем проблема с абсолютными путями в.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
чтобы указать, где он живет в настоящее время.
Кроме того, часто удобно указывать вложенные репозитории в отношении ваших собственных локальных клонов реального субрепортажа, чтобы вы могли подтолкнуть их, даже если вы не можете подтолкнуть к субреподавке (нет разрешения).
В общем, добавление слоя косвенности добавляет гибкости.