[p4] p4 reconcile -w -f and -//workspace/excludes/...

callmewilko perforce-user-forum at forums.perforce.com
Sun Jul 8 03:00:01 PDT 2018

Posted on behalf of forum user 'callmewilko'.

Thanks for taking time to help out ... Given your comment I think I misused
"//" in the original post, and made it look at a glance like the
directories I need "cleaned" are in the repo - they are not. I should
have shown directory paths.

>   If you simply remove the exclusion, then Perforce commands (including "clean" aka "reconcile -w") will be able to operate on those files.     
That's true. However I want to exclude the .../tests/... repo data
as our checkout is transatlantic and that saves not inconsiderable time as well
as disk space, so removing that line works around the clean up problem (which
feels like a bug to me) but increases build time.

To make it hopefully clearer, take this as an on disk workspace layout:

# from //repo/my_real_code.c
/my/p4 / workspace
/tests/my_massive_test_stuff.c          #
from //repo/tests/ my_massive_test_stuff .c
/my/p4 / workspace
/3rdpartything/thing.c                  #
not in the repo at all (generated at build time)
/my/p4 / workspace /3rdpartything/stuff/tests/testthing.c   # not in
the repo at all  (generated at build time)

The goals are that:
1 On checkout I can avoid all version controlled directories with
"/tests/" in the path
2 On cleanup I can remove everything which is not version controlled  from the
3 On cleanup I can make sure  everything which is version controlled is as per

I can meet goals 1 and 3 with this in the workspace spec:
-//repo/.../tests/... //workspace/.../tests/...

But that has the side effect of making "clean" skip over 
3rdpartything/stuff/tests/ , even though the directory tree  3rdpartything/ is
not even in the repo.

Please click here to see the post in its original format:

More information about the perforce-user mailing list