[p4] "p4 labelsync": final, I hope

Tim McDaniel 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
       manual.]

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 mailing list