How to avoid mixed eol-styles in a svn repository

2019-03-15 17:24发布

问题:

Is there a best practice for preventing mixed eol-styles in a subversion repository.

I know that svn:eol-style=native can be set as an auto-prop, but I would have to ensure that it was set for all committers. I'm also reluctant to do a retrospective, repository-wide change of svn:eol-style if there is a less invasive solution.

回答1:

You should use pre-commit hooks on server-side.

Here is a hook you need: http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/check-mime-type.pl

This hook will enforce users to set correct eol-style.

See svn documentation on how to use them.

Also, you can implement your own hook which will set eol-style automatically.



回答2:

Note that as of SVN 1.8 you can set up auto-props for entire trees within your repository (including at the top level), which finally fixes this issue independent of client-side config.

See the following for more details:

  • The relevant part of the SVN 1.8 release notes
  • The entry on auto properties in svnbook (I'd advise you read about inheritable properties too, which is in the section immediately above)
  • A useful article on Apache's wiki about the subject, complete with examples for eol-style