Изменений не найдено
pushing subrepo packA to D:/Projects/ProjectA/src/packA
searching for changes
no changes found
Это означает, что в packA
нет наборов изменений, которых еще нет в D:/Projects/ProjectA/src/packA
.Это нормально, если
- Новых вещей в
packA
- действительно нет, вы уже нажали
packA
на D:/Projects/ProjectA/src/packA
Если всомневаюсь, что проблема hg outguing D:/Projects/ProjectA/src/packA
внутри каталога packA
, чтобы убедиться.Эта команда не должна выдавать никаких данных (= ничего не отправлять).
Пути
Эти вложенные элементы помещаются в D:/Projects/Project[ABC]/src/pack[ABC]
, так как вы указали абсолютные URL-адреса в файле .hgsub для mercurial.Может быть лучше изменить .hgsub следующим образом:
packA = packA
packB = packB
packC = packC
# You can also insert something like packA = ProjectA/src/packA, the point
# is to declare all subrepos as subdirectories of the main repo
и изменить сервер таким образом, чтобы он обслуживал
- исходный продукт по адресу /
- ProjectA / src / packA в / packA
- ProjectB / src / packB в / packB
- ProjectC / src / packC в / packC
Это рекомендуемый шаблон , так как вы можете легко иметь локальные зеркальные клоны этого репо, в то время как у вас возникают проблемы с относительными и абсолютными URL-адресами с локальными зеркалами (это возможно, но громоздко).
КакПримечание: вы можете также рассмотреть возможность использования внешнего репозитория отслеживания зависимостей (называемого « хранилище тонкой оболочки » в hg wiki), который встраивает ваши репозитории pack *, а также репозиторий продукта в качестве подпунктов, посколькуэто более ясно, где каждая часть программного обеспечения принадлежит.
edit
В Mercurial вы можете иметь только один репозиторий для каждого продукта и на сервере по URL-адресу для каждого репозитория.Это означает, что вам нужно настроить различные удаленные репозитории для вашего основного продукта и вложенных репозиториев, поскольку вы не можете хранить содержимое различных вложенных репозиториев вместе с репозиторием продукта.
Существует возможность hg pull -f
эти разные репозитории в одно, но я советую против этой практики.После такого извлечения очень трудно перемещаться по истории этого репозитория, так как история разных источников смешана (например, ревизия ревизии этого репо переключается между различными источниками каждый раз, когда кто-то толкаетвнутрь).Этот метод следует использовать только в том случае, если разные подпункты имеют общую историю, но лучше хранить их отдельно, когда они не имеют ничего общего.