[p4] no 'p4 branches' after conversion using cvs2p4?

Weintraub, David david.weintraub at bofasecurities.com
Thu Jul 20 06:57:26 PDT 2006

The conversion tool does create labels. When you do the conversion, the
last (optional) step is to run the "dolabels" script that creates the
labels. It's easy to miss this step because the conversion looks
complete and you might not realize the labels aren't initially there.
However, the step is there (Step #6: If you want to import labels from
CVS tags, run) on line 316 in the README file -- at least in the latest

I've done the conversion a couple of dozen times, and it did correctly
do the branches. However, I really didn't notice that the conversion
didn't create the branch specifications, but the truth is I really
didn't look. Branches are created with the  "p4 integrate" command, and
doesn't depend upon creating a branch specification first. In fact, I
haven't even found creating the branching specification before branching
to be all that useful.

Branching specification don't specify where on the parent branch you're
branching from. Instead, you provide that information with the "p4
integrate" command anyway. That means the information contained in the
branch specification is incomplete for historical purposes. Plus, if you
are branching from multiple changelists or labels, you still have to
specify multiple "p4 integrate" commands anyway. The only real benefit
of creating a branch specification is that it helps if you are branching
from multiple directories, or changing the directory structure on the
branch. Then, you can run a single "p4 integrate" command to do all of
those directories at once.

The "p4 branches" command doesn't list branches, but branch
specifications, and these are two entirely different things. First of
all, you can create branches without creating the specification (as you
see with the CVS conversion), or delete the branch specification once
the branch is created (and it doesn't delete the branch). Or, even
create the branch specification and not create the branch.

What you're really looking for is some sort of "p4 integrations" command
that lists all of the branches that were actually created with the "p4
integrate" command. I think the undocumented "p4 interchanges" command
might help, but I haven't tried it.

-----Original Message-----
From: perforce-user-bounces at perforce.com
[mailto:perforce-user-bounces at perforce.com] On Behalf Of Y Giridhar
Appaji Nag
Sent: Thursday, July 20, 2006 8:07 AM
To: perforce-user at perforce.com
Subject: [p4] no 'p4 branches' after conversion using cvs2p4?

Hi p4/cvs2p4 users,

I tried converting a cvs repository with a lot of branches and labels to
p4 using cvs2p4.  The conversion went through fine and the change
history looks good.  I am also able to view the labels in the created
repository using 'p4 labels' but 'p4 branches' doesn't show up any
branches.  This is inspite of the p4 filelog showing the appropriate
"... branch from/into //depot" log messages.

Do I have to manually create the branches using 'p4 branch' and set the
branch view in the branch specification?  Or am I missing something?

Also, where can I find the post-cvs2p4-conversion label conversion tool
that has been refered to in this email thread:


Y Giridhar Appaji Nag | http://www.appaji.net/
perforce-user mailing list  -  perforce-user at perforce.com

More information about the perforce-user mailing list