Visual Studio git 克隆文件总是使用 LF
Visual Studio git clone always use LF for a file
我们在这里使用 TFS 2013(版本 12.0.30324.0),我们使用 Visual Studio 2013。我们有一个包含许多 TXT 文件的项目,用于批量插入。
使用 Visual Studio 进行克隆时,其中一些文件总是以 LF 行结尾而不是通常的 CRLF 进行克隆。这打破了我们对 eol 非常挑剔的 BULK INSERT。
设置.gitattributes
没有帮助
设置git config --global core.autocrlf true
没有帮助
它总是 return 以 LF 终止。该问题似乎与文件中某些字符的存在有关。当它们不存在时,Visual Studio 通常设置 CRLF,但是当它们存在时,无论我有什么配置,它都会设置 LF。
重现方法如下:
- 创建一个
test.txt
文件,内容如下Associação de países da África, Caribe e Pacífico
,结尾有一个CRLF
字符
- gid 添加、提交并将其推送到 TFS
- 从磁盘中删除项目
- git 克隆项目
test.txt
现在有一个 LF 结尾而不是原来的 CRLF
无论如何,这总是return一个带LF的文件。
带有 CLI 的 MSYSGIT 运行正常,它克隆了具有常规 CRLF 结尾的文件,问题似乎出在 Visual Studio 2013 git 客户端上。我可以报告说 Visual Studio 2015 年也发生了同样的情况。
会是什么?我真的不知道我能做些什么来解决这个问题,我相信这可能是 Visual Studio.
中使用的 git 客户端的错误
这是二进制检测中的一个错误,我们在其中错误地确定具有一些非 ASCII UTF-8 字符的文件是二进制文件。这个错误是 fixed in libgit2,它是我们在 Visual Studio 中 Git 支持的基础。这应该在即将推出的 VS 2013 Update 5 和 Visual Studio 2015 中修复。
由于我们将文件检测为二进制文件,强制行尾为特定类型将不起作用。 (那些只适用于文本文件。)
不幸的是,这意味着没有已知的解决方法。
对于给您带来的不便,我们深表歉意。
我们在这里使用 TFS 2013(版本 12.0.30324.0),我们使用 Visual Studio 2013。我们有一个包含许多 TXT 文件的项目,用于批量插入。
使用 Visual Studio 进行克隆时,其中一些文件总是以 LF 行结尾而不是通常的 CRLF 进行克隆。这打破了我们对 eol 非常挑剔的 BULK INSERT。
设置.gitattributes
没有帮助
设置git config --global core.autocrlf true
没有帮助
它总是 return 以 LF 终止。该问题似乎与文件中某些字符的存在有关。当它们不存在时,Visual Studio 通常设置 CRLF,但是当它们存在时,无论我有什么配置,它都会设置 LF。
重现方法如下:
- 创建一个
test.txt
文件,内容如下Associação de países da África, Caribe e Pacífico
,结尾有一个CRLF
字符 - gid 添加、提交并将其推送到 TFS
- 从磁盘中删除项目
- git 克隆项目
test.txt
现在有一个 LF 结尾而不是原来的 CRLF
无论如何,这总是return一个带LF的文件。
带有 CLI 的 MSYSGIT 运行正常,它克隆了具有常规 CRLF 结尾的文件,问题似乎出在 Visual Studio 2013 git 客户端上。我可以报告说 Visual Studio 2015 年也发生了同样的情况。
会是什么?我真的不知道我能做些什么来解决这个问题,我相信这可能是 Visual Studio.
中使用的 git 客户端的错误这是二进制检测中的一个错误,我们在其中错误地确定具有一些非 ASCII UTF-8 字符的文件是二进制文件。这个错误是 fixed in libgit2,它是我们在 Visual Studio 中 Git 支持的基础。这应该在即将推出的 VS 2013 Update 5 和 Visual Studio 2015 中修复。
由于我们将文件检测为二进制文件,强制行尾为特定类型将不起作用。 (那些只适用于文本文件。)
不幸的是,这意味着没有已知的解决方法。 对于给您带来的不便,我们深表歉意。