I'm using VSS 2008 and Visual Studio 2008. When my source files are checked in, the VSS property dialog shows them as type "Unicode (UTF-8)". But if I check one out from within Visual Studio, then do a compare, it says "binary files differ". Is anyone else seeing this? Do I have a screwed up setting somewhere?
Thanks, Andy
Update: Thanks to VonC for some insight. In most cases, turning off the "Auto-detect encoding of local file" checkbox fixes it, although for at least one file, it didn't help. Also I haven't been able to find a way to do multiple files -- they have to each be changed, one at a time. I'm still on the lookout for a more comprehensive solution.
From this old (2004) but may be still relevant article:
visual source safe doesn't always recognize text file types properly. when checking-in files using '
auto
' type -- it treats them as binary.So when you compare two .sql files you might see '
binary files differ
' -- and nothing more. (that's how vss treats binary files).
The solution is to change the file type using the properties context menu for the file in source safe. Change the type to text, you should be able to perform the visual comparison. You can also click on the 'advanced' option when checking-in the file, and manually change the selection to '
text
' then.To avoid in the future - you can add file type settings under the options menu in visual source safe, to set the default behavior for various file types there.
Rather than use the built in compare tool for VSS, you can also specify other applications. That may help you avoid the binary issue. As an example, if you happen to use Beyond Compare (sadly, not freeware, but it's one I have directions for):
I'm guessing you can swap out the command line values above with another program, but haven't tried it myself.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With