my_patch.diff 创建一个 Subversion 补丁。 .生成的文件是用 UTF-16 编码的,而不是 UTF-8 或-6ren">
gpt4 book ai didi

svn - 如何防止 "svn diff"在 Windows 上生成 Unicode 输出

转载 作者:行者123 更新时间:2023-12-03 22:18:05 25 4
gpt4 key购买 nike

在我的 Windows 机器上,我尝试使用命令 svn diff > my_patch.diff 创建一个 Subversion 补丁。 .生成的文件是用 UTF-16 编码的,而不是 UTF-8 或 ASCII,所以当我尝试使用 patch 时(来自 GnuWin32 )应用补丁,它没有用。

我可以通过在记事本中打开补丁文件并将其保存为所需格式,将补丁文件转换为 UTF8,patch在那之后处理得很好。但是,有没有办法得到svn diff在Windows 上生成UTF8?

更新:正如我的回答所表明的,事实证明问题确实与 Subversion 无关,diff , 或 patch . PowerShell 非常有帮助地将输出转换为 Unicode。我将问题保持原样,以便有类似问题的人可能会偶然发现它。

最佳答案

经过多次挠头和尝试不同的 diff实用程序,我想出了这个:

我正在运行我的 svn diff在 PowerShell 命令窗口中。 PowerShell 的输出重定向运算符 将输出转换为 Unicode .

如果我运行 svn diff > my_patch.diffcmd.exe shell ,然后一切正常。

要在 PowerShell 中执行此操作,必须使用如下命令:

svn diff | out-file -encoding ascii my_patch.diff

我敢肯定,微软有人认为这种行为真的很棒。

关于svn - 如何防止 "svn diff"在 Windows 上生成 Unicode 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3281796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com