[p4] "p4 labelsync": final, I hope
tmcd at panix.com
Fri Jul 17 08:40:42 PDT 2009
<< (I haven't even looked at "p4 labelsync -d".) >>
I should have. It does exactly the same kind of deletion that is done
WITHOUT "-d" (as long as "-a" is not specified), and which it took me
hours to figure out.
That is, "-d" doesn't do anything special with deletions. "-d" simply
suppresses adding anything to the label. Just like "-a" doesn't do
anything special with additions: it just suppresses the deletions.
Gaaaaah. Perforce, your labelsync documentation SUCKS!
So let me simplify my previous explanation of labelsync's basic operation:
* The user can specify -a, -d, or neither. The user cannot specify
both -a and -d.
* If there are no file arguments, assume "//...#have".
* For each file argument in turn,
= if "-a" is not specified, deletes the named file pattern from
the label, regardless of revision. [I called this "step 1".
This is a phrase from the manual, except that I use "file
pattern" in case the argument has wildcards.]
= if "-d" is not specified, add the named file pattern to the
label, using the revisions specified, or #have if no revision is
specified. [I called this "step 2". Again, adapted from the
The fact that it processes each file argument in turn is significant
when file arguments refer to the same files (and neither "-a" or "-d"
is specified). It is then possible for something added by one file
argument to be deleted by a later one.
Tim McDaniel, tmcd at panix.com
More information about the perforce-user