Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to adjust SVN settings to convert line endlings on Windows?

Tags:

windows

svn

eol

I need to use SVN on Windows and would like to set it up such that line endings are always checked out in Windows style and always committed in Unix style, regardless which repository is used.

  1. Is this possible or will I have to write a configuration file for each repo?

    If I have to write a config file to each repo, where do I put it, what's the right filename, what goes into the file and what effect will it have on other users of the repo?

  2. I made the following changes to the global SVN config file but it had no effect. What else do I need to do? Or will I have to call SVN with some specific parameters for changes to take effect on Windows?

    enable-auto-props = yes
    [auto-props]
    *.c = svn:eol-style=native
    *.cpp = svn:eol-style=native
    *.cxx = svn:eol-style=native
    *.h = svn:eol-style=native
    *.hpp = svn:eol-style=native
    *.hxx = svn:eol-style=native
    *.txt = svn:eol-style=native
    *.tex = svn:eol-style=native
    *.bib = svn:eol-style=native
    
like image 994
Bernhard Anderson Avatar asked Apr 15 '12 17:04

Bernhard Anderson


2 Answers

You need to set the svn:eol-style property to native for all files in the repository. Autoprops will set the property for files newly added to a repository, but for existing files, you need to add the property manually:

svn propset svn:eol-style native example.c
svn commit
like image 200
Daniel Roethlisberger Avatar answered Oct 05 '22 21:10

Daniel Roethlisberger


Daniel Roethisberger already gave you the correct answer. However you might want someway to ensure that all files have svn:eol-style set to `native.

I have a pre-commit hook that can ensure that the svn:eol-style property is set to native on all relevant files before it will allow a commit to take place. You might want to take a look at it to ensure that your policy is followed.

like image 21
David W. Avatar answered Oct 05 '22 21:10

David W.