Can you “ignore” a directory in P4V?

后端 未结 6 1243
迷失自我
迷失自我 2020-12-08 00:16

We use Visual Studio, which generates lots of bin and obj directories. When I use P4V\'s \"Reconcile Offline Work\" feature, these

6条回答
  •  被撕碎了的回忆
    2020-12-08 01:03

    As of version 2012.1, Perforce supports the P4IGNORE environment variable. This allows you to specify files and directories to ignore when using the commands that search for or add new files (p4 add, p4 status, and p4 reconcile).

    To use an ignore file, create a file in the root of your workspace and give it some meaningful name. The convention seems to be something like .ignore or .p4ignore, but anything will do (I used p4ignore.txt so that I can edit it with a simple double-click). Then fill it with your ignore rules. The following will ignore the the unwanted debris generated by Visual Studio:

    # directories
    bin
    obj
    
    # files
    *.suo
    *.user
    

    After you have created this file, set the P4IGNORE environment variable to point to it. At the command line, type something along the lines of this:

    p4 set P4IGNORE=C:\somepath\p4ignore.txt
    

    Be sure to use an absolute path! The Perforce documentation doesn't specify this and my first attempt did not work (on Windows anyway) because I didn't specify an absolute path.

    After doing this, any attempt to add files or directories that are in the ignore list will be rejected and you'll see a warning such as this (which they do give you the option to suppress):

    P4V 'ignored' files message


    If you are using a version of the Perforce server previous to 2012.1, you can still do this in your client spec. The syntax of your exclusion rules is just a little off. What you want is this:

    -//depot/Foo.../*.user //Client/Foo.../*.user
    -//depot/Foo...bin/... //Client/Foo...bin/...
    -//depot/Foo...obj/... //Client/Foo...obj/...
    

    Note the missing slashes after "Foo" and before "bin" and "obj".

提交回复
热议问题