[p4] Versioning Client Specs

Robert Cowham robert at vaccaperna.co.uk
Wed Oct 24 04:00:23 PDT 2001

Some good recommendations elsewhere on this thread.

> My questions are:  How would this work with labels?  Is the
> client spec also
> part of the label?

A client spec view is not part of the label but it affects potentially both
the creation and subsequent usage of the label.

When you create a label (labelsync) or sync to a label you get the
*intersection* of the label view and the client spec view (easy to draw a
Venn diagram showing this - standard set theory!).

> A workspace cannot be sync'd to a label
> contents unless
> the client spec contains the appropriate mappings (used at the time the
> label was made).  How do I get around this problem?

So, if you know the label was created with a specific view, you can get
everything in it if your client spec view is a superset (includes equality)
of the label view and you then do "p4 sync @labelname".

So for accuracy (and performance) label views should be restricted as much
as possible (i.e. //depot/projectA/rel1/... rather than //depot/... and rely
on the person using the label to have a client workspace view restricting it

You can easily script the recreation of clients to have a similar view to a

Like most things, the simpler you can keep your label and client views the
easier your life will be. This usually requires thought up front in planning
depot structure, and care in creation of labels and contents.

p.s. hope I haven't just confused the issue!

More information about the perforce-user mailing list