Tip: Excluding Auto-Generated Files from SourceSafe
Being an avid git user outside the workplace, I’m used to setting up .gitignore files for my ReSharper and pre-generated sludge that find their way into my projects. However, until today, I never found a clean way of handling pre-generated files with Visual SourceSafe.
Seems the answer was just in a menu that I never used (imagine that…).
For now, rather than having dotless generate my files on the fly, I’m using the compiler to compile my .less into .css files. Since I’m using the built-in publishing features (which, I am replacing with psake tasks–more on that later) for this project, any files not included in the project are skipped/not copied. That’s a bummer for my generated .css file.
The answer is to include the file in the project; however, when checked in, dotless.Compiler crashes because it can’t rewrite the file (since it’s read-only).
Exclude the file from source control. Sure, that sounds good, but how using SourceSafe?
1. Select the file, site.css in this case.
2. File > Source Control > Exclude ‘site.css’ from Source Control.
Yeah, seriously that easy. Instead of the normal lock/checkmark, a red (-) appears by the file (which is fine) and everything compiles as expected.
I’ve used SourceSafe for years now and never saw that in there… it doesn’t look like I can wildcard files or extensions like .gitignore (or even folders–the option disappears if anything but a single file is selected), but for a one-off case like this, it works just fine.