我正在使用VSS 2008和Visual Studio 2008.当我的源文件签入时,VSS属性对话框将它们显示为"Unicode(UTF-8)"类型.但是,如果我在Visual Studio中检查一个,然后做一个比较,它说"二进制文件不同".还有其他人看到这个吗?我在某个地方搞砸了吗?
谢谢,安迪
更新:感谢VonC的一些见解.在大多数情况下,关闭"自动检测本地文件的编码"复选框可以修复它,但对于至少一个文件,它没有帮助.此外,我还没有找到一种方法来做多个文件 - 它们必须每次更改,一次一个.我仍然在寻找更全面的解决方案.
从这个旧的(2004年)但可能仍然相关的文章:
visual source safe并不总能正确识别文本文件类型.当使用'
auto
'type 检入文件时- 它将它们视为二进制文件.因此,当您比较两个.sql文件时,您可能会看到'
binary files differ
' - 仅此而已.(这就是vss如何处理二进制文件).
解决方案是使用source safe中文件的属性上下文菜单更改文件类型.将类型更改为文本,您应该能够执行视觉比较.您也可以在签入文件时单击"高级"选项,然后手动将选择更改为"
text
".为避免将来 - 您可以在visual source safe中的选项菜单下添加文件类型设置,以设置各种文件类型的默认行为.
您可以指定其他应用程序,而不是使用VSS内置的比较工具.这可以帮助您避免二进制问题.例如,如果您碰巧使用Beyond Compare(遗憾的是,不是免费软件,但它是我的方向):
转到"工具"菜单
转到"选项"菜单项
转到"自定义编辑器"选项卡
将操作更改为"文件差异"选项
将文件扩展名更改为:.*
将命令行更改为(包括引号):"C:\ Program Files\Beyond Compare 2\bc2.exe"%1%2
单击添加按钮
单击确定按钮
我猜你可以用另一个程序换掉上面的命令行值,但是我自己没试过.