Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
svn签出并由git svn提交的文件中的行结尾_Svn_Git Svn - Fatal编程技术网

svn签出并由git svn提交的文件中的行结尾

svn签出并由git svn提交的文件中的行结尾,svn,git-svn,Svn,Git Svn,该团队使用subversion作为版本控制系统。我喜欢吉特。所以我用git svn克隆了它 自动RLF设置: $ git config core.autocrlf true 所以我更改的文件将以LF作为行结尾 当其他成员使用SVN签出文件时,即使在Windows上,文件也将以LF作为行结尾 将autocrlf设置为false可以解决此问题。它告诉git不要将CRLF更改为LF 通过配置subversion客户端可以解决此问题吗 subversion和git都有CRLF转换设置。可以将它们设置为

该团队使用subversion作为版本控制系统。我喜欢吉特。所以我用git svn克隆了它

自动RLF设置:

$ git config core.autocrlf
true
所以我更改的文件将以LF作为行结尾

当其他成员使用SVN签出文件时,即使在Windows上,文件也将以LF作为行结尾

将autocrlf设置为false可以解决此问题。它告诉git不要将CRLF更改为LF


通过配置subversion客户端可以解决此问题吗

subversion和git都有CRLF转换设置。可以将它们设置为任何值,但应始终设置它们。因为在这种情况下,您希望在项目中使用非标准工具,所以您有责任确保不会给其他团队成员带来问题。在Subversion中似乎没有启用该设置(它被设置为属性,因此记录在存储库中),因此现在关闭
core.autocrlf
,并将所有您搞砸的文件转换回它们应该使用的格式


就我个人而言,我从来没有考虑过改变专制主义。我的情况是类似的,我的经验是,所有系统都必须有特定的格式文件,例如shell脚本(CygWin预计UNIX格式)和MSBudio项目(必须是Windows格式)和可以以任何格式保留的文件,如C++、java、python、perl以及其他任何源。因此,设置CRLF转换以执行您需要的操作实际上是相当麻烦的,因为您需要告诉它所有的异常情况,并且它绝对没有任何帮助(前提是您不尝试使用普通记事本进行编辑;大多数其他编辑器,包括Notepad++、PSPad、Visual Studio、ViM等,都可以理解任何格式)

如果svn eol属性设置为“本机”,则始终使用适用于平台的eol签出文件。例如,Windows上的签出将具有CR-LF,而不考虑保存到存储库中的实际行尾。几年来,我们一直在使用它进行跨平台开发。

是的,你说得对。在提问之前我已经把它关掉了。我会在项目中保持错误。是的,关于如何在跨平台项目中使用svn,您是对的。在我的例子中,我将autocrlf设置为false,因为它是一个windows项目。