Patillac
Patillac

Reputation: 313

How to get SVN Commit 'Show unversioned files' to ignore folders

I'm trying to make it so that when I do svn commit I do not mistakenly forget to svn add unversioned files. It is simply impossible for me to remember this BEFORE the build farm explodes in failures, so I need this UI to inform me that new code files were added.

I've gotten it to be pretty close to useful in my code base by ignoring:

*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store *.bak *.idb *.log *.obj *.pdb *.res *.tlog *.manifest *.res *.aps *.ipch *.lastbuildstate *.pch *.sbr *.sdf *.suo *.tlh *.unsuccessfulbuild *.tli

Unfortunately the window is still polluted with countless folder paths to unversioned directories created by the compiler (i.e. ipch folders) and these entries make it very annoying to spot the missed code files.

I see a UI option to select all Files and Folders individually, but no option to show/hide Files and Folders individually.

Is there any easier way to see the results of versioned changes AND unversioned CODE FILE changes? i.e. specifically .h, .c, .hpp, and .cpp?

Upvotes: 1

Views: 563

Answers (2)

gbjbaanb
gbjbaanb

Reputation: 52689

If you add */ipch/* then it will show you the root ipch folder, but ignore all subfolders under it, which is usually a reasonable trade-off between knowing it exists while ignoring all the clutter of its contents.

You can, of course, just add ipch by itself to the ignore entry and that wil ignore the top level ipch as well as all its contents too.

Upvotes: 0

janos
janos

Reputation: 124804

Are your build products in a separate directory, or are they mixed together with source code? Usually they should be in a separate directory, for example bin, build, target, or similar. In that case you can set the svn:ignore property on the parent directory level. For example if you have this kind of directory layout:

proj
├── src/
└── build/

Then inside proj dir, run this command:

svn pedit svn:ignore .

append a line with "build", and save and exit the editor. If you don't like the command line, your IDE should have a GUI for the equivalent.

If you have many build directories in your project then the svn:global-ignores property can be useful, but you need Subversion 1.8 for that.

Upvotes: 1

Related Questions