views:

313

answers:

2

I have a "project" directory which has an .acignore file containing:

out/*

The "project" directory contains the checked-in "out" directory. But i want to ignore anything in the "out" directory tree.

The above doesn't seem to work. What's the right syntax?

Thanks.

A: 
jtalbott
Hmm, doesn't seem to be working for me:$ lssrc/ out/$ accurev stat -x -R .$ vi .acignore$ cat .acignoreout/*$ touch out/outfile$ accurev stat -x -R ././project/.acignore (external)/./project/out/outfile (external)
Jack
Jack, what version of AccuRev, and what distro of Linux?
jtalbott
It happens both on linux and on a windows box using cygwin. Using 4.7.2.
Jack
Hey Jack, I was able to reproduce. The fixes to .acignore didn't take place until the 5.x, which is what I tested on. In the meantime, you can use a local environment variable to do what you want: --- export ACCUREV_IGNORE_ELEMS=out/* ----Just keep in mind that this variable affects your entire local AccuRev environment, so you may want to qualify the path with a depot-relative pathname to prevent it from impacting directories that you didn't intend to...
jtalbott
Incidentally, another thing you could do is put an .acignore file in the out directory itself, containing just the entry: * That will ignore everything in the out dir...
jtalbott
+1  A: 

Accurev's filtering is used only to filter what appears in the (external) list so if things have already been added, they will not be filtered out.

The .acignore files are not able to specify a recursive pattern - is the "out" directory at the same level as the .acignore? You need to put them in each directory of the tree.

I added .acignore files to our entire tree to save people having to specify ACCUREV_IGNORE_ELEMS on their machines. A typical .acignore is:

*.ncb
*.suo
*.user
Debug/*
Debug
bin/*
bin
obj/*
obj
Release/*
Release
TestResults
TestResults./*
Andy Dent