VSS 和 Visual Studio 2008“二进制文件不同” 源文件的消息

发布于 2024-07-10 17:30:24 字数 332 浏览 10 评论 0原文

我使用的是 VSS 2008 和 Visual Studio 2008。签入源文件时,VSS 属性对话框将它们显示为“Unicode (UTF-8)”类型。 但是,如果我从 Visual Studio 中检查一个文件,然后进行比较,它会显示“二进制文件不同”。 还有其他人看到这个吗? 我有什么地方搞砸了吗?

谢谢, 安迪

更新: 感谢 VonC 的一些见解。 在大多数情况下,关闭“自动检测本地文件的编码”复选框可以解决此问题,但对于至少一个文件来说,这没有帮助。 另外,我还没有找到一种方法来处理多个文件——它们必须每次更改一个。 我仍在寻找更全面的解决方案。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

孤寂小茶 2024-07-17 17:30:24

从这篇旧(2004)但可能仍然相关的文章中:

视觉源安全并不总是能正确识别文本文件类型。 当使用“auto”类型签入文件时——它将它们视为二进制文件。

因此,当您比较两个 .sql 文件时,您可能会看到“二进制文件不同”——仅此而已。 (这就是 vss 处理二进制文件的方式)。

二进制文件不同

解决方案是使用源安全中文件的属性上下文菜单更改文件类型。 将类型更改为文本,您应该能够执行视觉比较。 您还可以在签入文件时单击“高级”选项,然后手动将选择更改为“文本”。

为了避免将来 - 您可以在视觉源安全的选项菜单下添加文件类型设置,以设置各种文件类型的默认行为。

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.

青朷 2024-07-17 17:30:24

您还可以指定其他应用程序,而不是使用 VSS 的内置比较工具。 这可能会帮助您避免二进制问题。 举个例子,如果您碰巧使用 Beyond Compare(遗憾的是,不是免费软件,但我有相关说明):

  1. 转到“工具”菜单
  2. 转到“选项”菜单项
  3. 转到“自定义编辑器”选项卡
  4. 将操作更改为“文件差异”选择
  5. 更改文件扩展名为: .*
  6. 将命令行更改为(包括引号): "C:\Program Files\Beyond Compare 2\bc2.exe" %1 %2
  7. 单击“添加”按钮
  8. 单击“确定”按钮

我猜您可以交换命令行与另一个程序的值相同,但我自己还没有尝试过。

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.

落花浅忆 2024-07-17 17:30:24

是的,其他答案是正确的。 但是如果文件被某人锁定并且您需要进行代码合并该怎么办? 一旦属性被禁用,您就无法更改它们:

Type is unavailable as other people check out

要启用版本的类型下拉列表,请执行以下操作这个简单的技巧。

0)下载并运行WinSpy++;

1) 将指针拖放到禁用的下拉菜单上;

2) 将句柄更改为“启用”;

3) VSS 将允许您保存任何更改。

> VSS 已经过时,但仍然广泛用于懒于变革的公司。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文