perforce integration

Robey Pointer robey at lag.net
Sat Dec 30 23:58:26 GMT 2006


I've been meaning to post this for a while, but keep forgetting...

Because I have to use perforce at work, but I like to be able to work  
offline and from multiple locations, I sometimes use bazaar to start  
work projects, then import them into perforce.

I don't know exactly how foreign branches work in bazaar, but since  
my revision-importing script might be a useful starting point for  
anyone wanting to implement a perforce foreign branch plugin, I'm  
posting it here.

Currently it only does a one-way conversion: missing revisions are  
copied from bazaar into perforce, commit by commit.  Each commit is  
marked with some metadata from the bazaar branch, including the  
revision id.  Perforce can't handle a file being renamed and edited  
within a single commit, so those are split into two related commits,  
and given special "phase 1/2" markers in the commit message.  It's  
otherwise relatively straightforward.

It's entirely possible that I am the only one who has ever wanted to  
do this type of conversion, or ever will. :)  But I'm posting it here  
for future reference in case anyone is looking for a tool like this  
in the future.

The bazaar branch is here:
	http://www.lag.net/~robey/code/bzr2p4/

robey





More information about the bazaar mailing list