Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Integrate existing Git Repository with Perforce (P4)

I have browsed through the web, but I cannot find an answer. What I am trying to do is the following:

  1. I have a git repository which has been used for over 1 year with lots of commits
  2. Due to productization, the code has to be moved into a P4 rep.
  3. However, the codebase (after transport) may change in git as well as P4

Now lets assume that reference branch in git is master

What I did is the following:

  1. Copy the latest code from git into P4 and submit it there
  2. Use git-p4 sync --branch=refs/remotes/p4/masterp4 //../ in order to create a new branch in my existing repository
  3. git merge master into masterp4
  4. does not work since a common commit is missing
  5. git-p4 submit, moreover, is not able to work with merge commits anyway

Another option was rebasing

  1. Start with an empty repository in P4
  2. Use git-p4 sync to create an empty masterp4 branch in git
  3. Rebase master onto masterp4
  4. Rebase masterp4 onto remote/p4/master
  5. Leads to thousands of p4 changelists.

The main problem is the broken link between the master branch and this masterp4 branch. I wondered if there is not an easier solution anyway. Unfortunately, I am a git n00b.

Thanks for any ideas,

Philipp

like image 548
Philipp Herzig Avatar asked Nov 07 '12 13:11

Philipp Herzig


People also ask

Does Perforce support git?

This is why game dev teams choose Perforce to manage it all, while still providing access to Git code.

Can you use Perforce with GitHub?

More Support. Perforce has also created a new open-source GitHub repository to further engage with the game developer community.

What is p4 in git?

Often, the p4 repository is the ultimate location for all code, thus a rebase workflow makes sense. This command does git p4 sync followed by git rebase to move local commits on top of updated p4 changes.


1 Answers

I'd go with creating 1000s of Perforce commits, so that history is preserved.

like image 97
Douglas Leeder Avatar answered Oct 24 '22 09:10

Douglas Leeder