5

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.

Jack
  • 2,206
  • 3
  • 18
  • 25

2 Answers2

2

That syntax is actually correct. My guess is that the contents of the "out" directory have status of (member). ACCUREV_IGNORE_ELEMS and .acignore won't ignore files that are already under AccuRev control. Note that in this example, the files in my "Out" directory are not already member, so don't show up in the (external) search request:

C:\demo\ws\Twins_SP1_mauer\WebApp>dir
04/10/2010 04:49 PM 7 .acignore
04/10/2010 04:44 PM Out

C:\demo\ws\Twins_SP1_mauer\WebApp>cat .acignore
Out/*

C:\demo\ws\Twins_SP1_mauer\WebApp>dir Out
04/10/2010 04:43 PM 0 file1.txt
04/10/2010 04:44 PM 0 file2.txt

C:\demo\ws\Twins_SP1_mauer\WebApp>accurev stat -x
.\WebApp.acignore (external)

jtalbott
  • 1,158
  • 6
  • 7
  • Hmm, doesn't seem to be working for me: $ ls src/ out/ $ accurev stat -x -R . $ vi .acignore $ cat .acignore out/* $ touch out/outfile $ accurev stat -x -R . /./project/.acignore (external) /./project/out/outfile (external) – Jack Apr 11 '10 at 00:12
  • Jack, what version of AccuRev, and what distro of Linux? – jtalbott Apr 11 '10 at 13:58
  • It happens both on linux and on a windows box using cygwin. Using 4.7.2. – Jack Apr 11 '10 at 18:32
  • 1
    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 Apr 12 '10 at 13:18
  • 1
    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 Apr 12 '10 at 13:55
2

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
  • 17,578
  • 6
  • 88
  • 115