git p4 branches not exported

65 Views Asked by At

I'm trying to migrate some p4 depots to github using git-p4.py script but I have trouble in exporting branches.

p4 structure is like this: //depot1/first_directory/second_directory/projects_directory [eg: project_AA] (multiple directories that I want to migrate to separate github repositories)

//depot1/versions_directory/project_AA-or-BB-or-CC_xx_yy [eg: project_AA_01_01) (other directories that contains different release versions of project_directories that should go in github repo project_aa, project_bb etc

P4 branches exist like AA-version_branch and have one or multiple mapping views.

I managed to get tags, commit history (without commits from //depot1/versions_directory/project_AA-or-BB- etc) and content.

The main issue that branches are detected when 'git p4 sync --detect-branches --verbose' is executed, but there are no branch resulted to be added in github. I executed 'git p4 clone --detect-branches --verbose //depot1@all' just to check what branches will be exported at the depot level, but the result was far away from the expectation like: remotes/p4/depot1/first_directory/second_directory/project_AA/directory_inside_project_AA or remotes/p4/depot1/other_directory/tags/a_tag_or_label/project_BB/directory_inside_project_BB But all resulted branches are not in p4 branch list

I tried the method described on #37607393 but without any result. I believe this is due to perforce repository structure.

Any info or idea that I should try further?

1

There are 1 best solutions below

0
dberry On

I would try this:

mkdir project_AA
cd project_AA
git init
git p4 sync --branch=main "//depot1/first_directory/second_directory/project_AA@all"
git p4 sync --branch=v1.1 "//depot1/versions_directory/project_AA_01_01@all"
git p4 sync --branch=v1.2 "//depot1/versions_directory/project_AA_01_02@all"

You cannot use --detect-branches because the versions are at a different level in the directory structure. You will need to sync each branch individually.