Получение по запросу от коллеги при использовании подрепозиториев

У нас есть несколько общих библиотек, которые существуют как subrepos в родителе repo. Если человек клонирует родителя repo, это смотрит что-то как:

/ParentRepo
---- .hg
---- .hgsub
---- .hgsubstate
---- SharedSub1
---- SharedSub2
---- SharedSub3
---- SharedSub4
---- ParentRepo.sln

.hgsub похож на это:

SharedSub1 = http://ourfogbugz.us.com/..../SharedSub1
SharedSub2 = http://ourfogbugz.us.com/..../SharedSub2
SharedSub3 = http://ourfogbugz.us.com/..../SharedSub3
SharedSub4 = http://ourfogbugz.us.com/..../SharedSub4

hgrc каждого subrepo выглядит примерно так:

default = http://ourfogbugz.us.com/..../SharedSub1

Довольно стандартный материал.

Но!

Как с помощью этой установки коллега вытягивает от другого, не используя центральный сервер в качестве посредника? Таким образом, коллега A делает 'hg, служат', и B делает 'hg, вытягивают http://coworkerA.us.com:8000'..., но это перестанет работать, поскольку hgsub файл все еще указывает на центральный сервер, и таким образом B только получит изменения от центрального сервера и не получит любые изменения от A subrepos, которые не существуют на центральном сервере.

Это далее сложно, если центральный сервер снижается или недостижим. Нет никакого способа для людей вытянуть друг от друга непосредственно использующего subrepos!

Как вытягивает между коллегами, сделанными с помощью subrepos? Редактирование hgrc и hgsub файлов вне рассмотрения, потому что необходимо было бы сделать это для каждого subrepo (у нас есть приблизительно 20), и однажды для каждого коллеги!

Я также отправил этот вопрос на Печи для обжига StackExchange для удара более широкой аудитории: http://kiln.stackexchange.com/questions/1780/pulling-from-a-co-worker-when-using-subrepositories

1
задан Andrew 29 July 2010 в 16:54
поделиться

1 ответ

Вы можете (и обычно должны) использовать относительные пути в ваших входах .hgsub. Если бы эти строки были:

SharedSub1 = ../SharedSub1
SharedSub2 = ../SharedSub2
SharedSub3 = ../SharedSub3
SharedSub4 = ../SharedSub4

, то вы могли бы клонировать из центра, от друга или из локального клона самостоятельно.

2
ответ дан 2 September 2019 в 22:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: