Search code examples
perforcep4v

How do I include one specific file from an ignored folder Structure in a Perforce stream?


I am setting up a Perforce Depot for my Cryengine Project and I want to ignore the /bin folder, but include the Game.dll file that is located at /bin/win_x64/Game.dll. I am not using a .p4ignore file but I am doing it via the ignore list in a stream inside the Helix Visual Client so it works per default on all machines.

I've found several pages that said I could add exceptions to ignore list by adding an ! in front of the thing I want to include. I've tried that in several different ways, but it does not seem to work.

First I tried like this:

/bin/...
!Game.dll

Then like this:

/bin/...
!/bin/win_x64/Game.dll

But none seemed to be working.

When I try to add the file to the depot, it says file(s) not in client view regardles of what I try.


Solution

  • The Ignored field takes precedence over everything else and doesn't have an exclusion syntax. However, if you put the bin folder in the Paths field you can add an exclusion and then override it:

    Paths:
        share   ...
        exclude bin/...
        share   bin/win_x64/Game.dll
    

    This gives you a view that looks like (whitespace added for readability):

    C:\Perforce\test>p4 where ...
     //stream/main/...                  //Samwise-dvcs-1509687817/...                  c:\Perforce\test\...
    -//stream/main/bin/...              //Samwise-dvcs-1509687817/bin/...              c:\Perforce\test\bin\...
     //stream/main/bin/win_x64/Game.dll //Samwise-dvcs-1509687817/bin/win_x64/Game.dll c:\Perforce\test\bin\win_x64\Game.dll