[p4] tracking 3rd party sources

Robert Cowham robert at vaccaperna.co.uk
Tue Mar 27 12:56:36 PST 2007


> What is working for us to accept varied third-party source 
> and object code drops is to use a configuration like:
> 
>   //depot/vendor/$VENDOR_NAME/$PRODUCT_NAME/$PRODUCT_VERSION/...

This naming convention is good and clear.

One extra wrinkle worth considering is:

Import as a single changelist into say
//depot/vendor/$VENDOR_NAME/$PRODUCT_NAME/import and then if you want to be
very clear about which version you are using internally, branch that to
//depot/vendor/$VENDOR_NAME/$PRODUCT_NAME/$PRODUCT_VERSION

(It is perfectly reasonable just to use say a changelist or dynamic label to
record what the changelists corresponded to, but sometimes it is worth
having the explicit version number in the Revision Graph history, i.e. an
extra branch).

And then integrate from there to your internal (possibly customised)
version.

The advantage of this is that you are only storing the differences (between
revisions) in the import branch, and the version branch is just a standard
perforce lazy copy. The other method will end up adding a complete copy of
all the files (many of which won't have changed), and over time this may
start to mount up a bit.

With the new common ancestor detection, the fact that you integrate from
v1.2 and then v1.3 which have a common parent in import, is not going to be
a problem.

Robert


More information about the perforce-user mailing list