Относительно Mercurial Security + рекурсивные проверки вложенных репозиториев
Это будет длинный пост... извините заранее.
Я пытаюсь обдумать, как собрать вместе "Репозитории для каждой ветки проекта" и как это повлияет на команду.
Прямо сейчас кажется, что
- Может рекурсивно проверять код вложенных проверок, хотя статус hg не дает большой информации об изменениях файлов во вложенных хранилищах.
- Похоже, что я - и каждый член команды, который хочет работать над одним и тем же проектом - должен вручную отредактировать свои вложенные репозитории.
.hgrc
файлы, чтобы сделать регистрацию максимально безболезненной и автоматизированной, насколько это возможно. - Может рекурсивно проверяться, но рекурсивная проверка не поддерживается.
Это правильный анализ возможностей Hg?
Я действительно надеюсь, что нет, так как это гораздо более сложное кодирование (т. Е. Командная строка суетится повсюду), чем может справиться средняя команда разработчиков, которую я видел, оставаясь при этом продуктивной. Насколько я понял, рефакторинг одной сборки, вероятно, остановит команду, поскольку они останавливают редактирование .hgrc
файлы для добавления местоположения, пользователя и пароля. Нет?
И я действительно хочу перепроверить, что Hg не может рекурсивно тянуть? Похоже, такое упущение, что я чувствую, что, должно быть, что-то упустил.
Спасибо!
PS: Для смелых или глупых (и в случае, если это помогает) заметки, которые я хранил, работая над проблемой проектов, которые ссылаются на библиотечные модули, которые ссылаются на другие библиотечные модули, выглядят следующим образом (обратите внимание на??? "ВОПРОСЫ" перемежаются в них...
MERCURIAL
# requires an .hgsub with a ref to either
# an Hg Repo for only one Bin...?
# a website download...is that possible?
# an svn repo that allow referencing just one folder in it
# eg: "BIN/A3rdParty = svn:^/BinCache/A3rdParty/bin"
LibA\
hg\
.hgrc
# ??? QUESTION ???
# does each user have to edit their own files by hand
# to allow automatic push/pull?
# "default = https://user:pwd@bitbucket.org/xact/liba"
# "default-push = https://user:pwd@bitbucket.org/xact/liba"
.hgsub
# Map of nested repos as follows:
# "BIN/A3rdParty = svn:^/BinCache/A3rdParty/bin"
# "EXT/LibA = https://bitbucket.org/xact/liba"
# "EXT/LibB = https://bitbucket.org/xact/libb"
LibA.sln
BIN\
[A3rdParty\SomeLib.dll]
EXT\
SRC\
LibA\LibA.csproj
# ...which References "..\..\BIN\A3rdParty\SomeLib.dll"
LibA.Tests\LibA.Tests.csproj
# ...which References "..\LibA\LibA.csproj"
LibB\
hg\
.hgrc
# ??? QUESTION ???
# does each user have to edit their own files by hand
# to allow automatic push/pull?
# "default = https://user:pwd@bitbucket.org/xact/libb"
# "default-push = https://user:pwd@bitbucket.org/xact/libb"
.hgsub
# that contains:
# "BIN/A3rdParty = svn:^/BinCache/A3rdParty/bin"
# "EXT/LibA = https://bitbucket.org/xact/liba"
# ??? QUESTION ???
# do end users add user/pwd info here? or in the
# nested repos .hgrc file?
LibB.sln
BIN\
[A3rdParty\SomeLib.dll]
EXT\
LibA\
hg\
.hgrc
# ??? QUESTION ???
# does each user have to edit their own files by hand
# to allow automatic push/pull?
# "default = https://user:pwd@bitbucket.org/xact/liba"
# "default-push = https://user:pwd@bitbucket.org/xact/liba"
LibA.csproj
# ...which References "..\..\BIN\A3rdParty\SomeLib.dll"
LibA.Tests\LibA.Tests.csproj
# ...which References "..\LibA\LibA.csproj"
SRC\
LibB\LibB.csproj
# ...which References "..\..\EXT\LibA\LibA.csproj"
LibB.Tests\LibB.Tests.csproj
# ...which References "..\LibB\LibB.csproj"
ProjA\
hg\
.hgrc
# ??? QUESTION ???
# does each user have to edit their own files by hand
# to allow automatic push/pull?
# "default = https://user:pwd@bitbucket.org/xact/proja"
# "default-push = https://user:pwd@bitbucket.org/xact/proja"
.hgsub
# that contains:
# "BIN/A3rdParty = svn:^/BinCache/A3rdParty/bin"
# "EXT/LibA = https://bitbucket.org/xact/liba"
# "EXT/LibB = https://bitbucket.org/xact/libb"
# ??? QUESTION ???
# do end users add user/pwd info here? or in the
# nested repos .hgrc file?
BIN\
[A3rdParty\SomeLib.dll]
EXT\
LibA\
hg\
.hgrc
# ??? QUESTION ???
# does each user have to edit their own files by hand
# to allow automatic push/pull?
# "default = https://user:pwd@bitbucket.org/xact/liba"
# "default-push = https://user:pwd@bitbucket.org/xact/liba"
LibA.csproj
# ...which References "..\..\BIN\A3rdParty\SomeLib.dll"
LibA.Tests\LibA.Tests.csproj
# ...which References "..\LibA\LibA.csproj"
LibB\
hg\
.hgrc
# ??? QUESTION ???
# does each user have to edit their own files by hand
# to allow automatic push/pull?
# "default = https://user:pwd@bitbucket.org/xact/libb"
# "default-push = https://user:pwd@bitbucket.org/xact/libb"
LibB\LibB.csproj
# ...which References "..\..\EXT\LibA\LibA.csproj"
# Important: note that it is same path offset
# as when within context of LibB.sln
LibB.Tests\LibB.Tests.csproj
# ...which References "..\LibB\LibB.csproj"
SRC\
ProjA\ProjA.csproj
ProjA.Tests\ProjA.Tests.csproj
1 ответ
Я постараюсь ответить на некоторые ваши вопросы, хотя я действительно считаю, что вы должны обсудить это с нами, а не проводить здесь вопросы и ответы.
Прямо сейчас кажется, что
- Может рекурсивно проверять код вложенных проверок, хотя статус hg не дает большой информации об изменениях файлов во вложенных хранилищах.
Увидеть hg status --subrepos
или же hg status -S
коротко.
- Похоже, что я - и каждый член команды, который хочет работать над одним и тем же проектом - должен вручную отредактировать свои вложенные репозитории.
.hgrc
файлы, чтобы сделать регистрацию максимально безболезненной и автоматизированной, насколько это возможно.
Не нужно вводить имя пользователя и пароли в .hg/hgrc
файлы - вместо этого вы должны настроить кэширование учетных данных HTTP в Mercurial.
- Может рекурсивно проверяться, но рекурсивная проверка не поддерживается.
Оформление заказа, т. Е. Обновление, является рекурсивным. Когда вы делаете hg clone
чтобы получить локальный репозиторий, то Mercurial заметит .hgsub
а также .hgsubstate
файлы и он будет рекурсивно клонировать вложенные репозитории, на которые есть ссылки.
И я действительно хочу перепроверить, что Hg не может рекурсивно тянуть? Похоже на такое упущение, что я чувствую, что, должно быть, что-то упустил.
Да, вам не хватает того, как Mercurial знает, какие подпапки вам нужны. Пожалуйста, смотрите документацию в вики или руководство по Kick Start.