Is there anyway to get TortoiseSVN to leave EOL (line endings) as is?

拜拜、爱过 提交于 2019-12-04 08:06:31

问题


I'm checking out files that have Linux style line endings (just LF char). When I check out a file with TortoiseSVN in Windows, it converts the line endings to Windows style (CR+LF). I've tried adding the lines to the subversion config file to force it to use LF, and yes, I did set the enable-auto-props = yes. This doesn't work, and even if it did, it's not exactly what I want, because I'd rather have TSVN simply not touch the files. Just copy them as is.


回答1:


As others have pointed out, you need to set the svn:eol-style property. This property can have three values:

  • LF: Set end-of-lines automatically to Unix line endings upon checkout and commit.
  • CRLF: Set end-of-lines automatically to Windows line endings upon checkout and commit.
  • native: This will store line endings upon commit to Unix line endings (LF), but will checkout the line endings with either LF or CRLF based upon the client.

You can set the auto-props settings in your $HOME/.subversion/config file to automatically attach this property to all new files. However, this is something each user must set in their Subversion client. To enforce setting this property, you can use my pre-commit hook which will reject commits if the files you've specified don't have the properties you've specified set to their correct values.

This is a crude bludgeon since it won't correct the problem, but after one or two failed commits, developers will quickly set their auto-props up to automatically add the needed properties.


For TortoiseSVN on Windows, find the config file under your username/AppData (a hidden folder). E.g.

%appdata%\roaming\subversion\config

Add these lines (probably already there, but commented out), then logout/in:

enable-auto-props = yes
# Add these for each text file type that you use:
*.txt = svn:eol-style=native
*.cs = svn:eol-style=native
*.xml = svn:eol-style=native

(Example is for C# with XML; replace with whatever text files you use.)




回答2:


You should set svn:eol-style property.

http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-propertypage.html

http://svnbook.red-bean.com/en/1.7/svn.advanced.props.file-portability.html#svn.advanced.props.special.eol-style




回答3:


The auto-props configuration setting only works for new files, not for existing files. For those you have to set the svn:eol-style property for each file.




回答4:


As of Tortoise SVN version 1.12.0, Build 28568, 2019/04/16, you can assign AS-IS EOL properties to an entire folder.

Select Workspace : Right-click : TortoiseSVN -> : Properties

Select New : EOL

Choose As is (no specific EOL)



来源:https://stackoverflow.com/questions/11587806/is-there-anyway-to-get-tortoisesvn-to-leave-eol-line-endings-as-is

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!