Импорт веток с использованием git-p4 - неизвестная ревизия или путь не в рабочем дереве
Я пытаюсь перейти с Perforce на Git. Наше развитие структурировано следующим образом:
Версия 1.3.0 создана, разработана, выпущена в производство. Разработка продолжается, версия 1.3.1 разветвлена и разработана и т. Д.
В настоящее время у нас есть целая куча версий, которые создаются в возрастающем порядке. Моя задача состоит в том, чтобы импортировать эти версии как последовательные ветви, т.е. ветка 1.3.1 выходит из 1.3.0; ветка 1.4.0 выходит из ветки 1.3.1 и т.д...
Я использую следующий набор команд:
git init
git config --add git-p4.branchList 1.3.0:1.3.1
#continue configuration for all of the branches
git p4 sync --detect-branches //depot/path/to/code@all
Конечная конфигурация branchList выглядит примерно так:
[git-p4]
branchList = 1.3.0:1.3.0
branchList = 1.3.0:1.3.1
branchList = 1.3.1:1.4.0
branchList = 1.4.0:1.5.0
etc...
Когда я запускаю вышеуказанные команды, я получаю сообщение об ошибке:
Importing revision 457240 (18%)
Importing new branch common/1.4.0
Resuming with change 457240
fatal: ambiguous argument 'refs/remotes/p4/common/1.3.1': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Command failed: ['git', 'rev-list', '--reverse', '--no-merges', 'refs/remotes/p4/common/1.3.1']
Однако, если моя конфигурация branchList выглядит так:
[git-p4]
branchList = 1.3.0:1.3.0
branchList = 1.3.1:1.3.1
branchList = 1.4.0:1.4.0
branchList = 1.5.0:1.5.0
Импорт полностью успешен, однако история ветки не отображается должным образом.
В чем здесь проблема?
1 ответ
В соответствии с вашей конфигурацией branchList ветка 1.4.0 создается из ветки 1.3.1. Но в списке изменений 457240, где ветка 1.4.0 была обнаружена впервые, ветка 1.3.1 все еще не найдена!
Возможно ли, что 1.4.0 и 1.3.1 были созданы из 1.3.0?
Ваша конфигурация branchList должна соответствовать истории интеграции в P4.
Чтобы подтвердить историю интеграции в P4, выберите файл, который существует во всех ветвях и который редко изменяется, и используйте функцию P4V "Revision Graph". Альтернативой является использование команды CLI. p4 filelog //depot/path/to/file
,