VSS and Visual Studio 2008 "Binary Files Differ" message for source files
Asked Answered
N

3

5

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.

Nyx answered 2/1, 2009 at 18:1 Comment(0)
J
10

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 binary file differ

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.

Jointworm answered 5/1, 2009 at 15:24 Comment(0)
R
6

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):

  1. Go to Tools menu
  2. Go to Options menu item
  3. Go to Custom Editors tab
  4. Change operation to "File Difference" selection
  5. Change file extension to: .*
  6. Change command line to (including quotes): "C:\Program Files\Beyond Compare 2\bc2.exe" %1 %2
  7. Click Add button
  8. Click OK button

I'm guessing you can swap out the command line values above with another program, but haven't tried it myself.

Radloff answered 23/1, 2009 at 18:51 Comment(0)
A
0

Yes, other answers are correct. But what can be done if file is locked by somebody and you need to do code merge? You can't change properties once they are disabled:

Type is disabled as someone else checked out

To enable Type dropdown for edition do this simple trick.

0) download and run WinSpy++;

1) drag and drop pointer onto disabled dropdown;

2) change handle to 'Enabled';

3) VSS will allow you to save changes whatsoever.

WinSpy++ sequence

ps. VSS is outdated but still widely used in lazy to change corporations.

Attending answered 4/11, 2013 at 15:48 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.