Как заставить - обнаруживать-ответвления работать с мерзавцем-p4?

Мой p4 репозиторий имеет структуру, подобную:

//depot/project/branch1
//depot/project/branch2
//depot/project/branch3
... etc

Однако, когда я использую git-p4 для клонирования "проекта" все 3 ответвления не рассматривают как ответвления, и все клонированы в единственное основное ответвление.

Это - то, как я вызываю git-p4:

git-p4 clone --detect-branches //depot/project

Я ожидал git-p4 создать базу данных мерзавца для"project"с тремя ответвлениями и корнем проекта был бы отображен на части пути после имени ответвления (например: если //depot/project/branch1 назвали подкаталог"lib" (//depot/project/branch1/lib) затем моя локальная файловая система должна быть чем-то как /git_project/lib с 3 ответвлениями мерзавца).

То, что я ожидаю неправильно? Я вызываю git-p4 неправильно?

10
задан JasonMArcher 16 April 2011 в 02:32
поделиться

1 ответ

Если вы посмотрите на код git-p4 (также изначально здесь), вы увидите:

if self.detectBranches:
  branches = self.splitFilesIntoBranches(description)
  for branch in branches.keys():
    ## HACK  --hwn
    branchPrefix = self.depotPaths[0] + branch + "/"

с splitFilesIntoBranches исследуя репо p4 на наличие ветвей.

Так может быть git-p4 clone //depot/project@all --detect-branches подойдёт (с @all как в этом SO answer, и опцией --detect-branches после пути к репо)?

Учитывая это, если скрипт недостаточно умен, чтобы справиться с этим, возможно, более простым решением будет запустить его 3 раза, по одному на ветку и импортировать результат в одно Git-репо.

1
ответ дан 4 December 2019 в 04:53
поделиться
Другие вопросы по тегам:

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