Quite often people working in a team and using the same repository or upstream prefer different operating systems. This may result in problems with line endings, because Unix, Linux, and OS X use LF and Windows uses CRLF to denote the end of a line. PyCharm shows the discrepancies in line endings in the Difference Viewer Dialog, so you can fix them manually.
To have Git solve such problems automatically, you need to set the core.autocrlf attribute to true on Windows and to input on Linux and OS X. For more details on the meaning of the core.autocrlf attribute, see the article Mind the End of Your Line or Dealing with Line Endings. You can change the configuration manually by running git config --global core.autocrlf true on Windows or git config --global core.autocrlf input on Linux and OS X. However, PyCharm can analyze your configuration, warn you if you are about to commit CRLF into the repository, and offer to set the core.autocrlf setting to true or input depending on the operating system used.
On this page:
- Enabling smart handling of LF and CRLF line separators
- Handling the problem with line separators during commit
To enable smart handling of LF and CRLF line separators
- Enable smart handling of LF and CRLF line separators. After that, PyCharm will show the Line Separators Warning Dialog every time you attempt to commit a file with CRLF separators, unless you have set any related git attributes on the affected file. In the latter case, PyCharm supposes that you clearly understand what you are doing and excludes the file from analysis.
When the Line Separators Warning Dialog is displayed, do one of the following:
- To ignore the warning and commit the file with CRLF separators, click the Commit As Is button.
- To have the core.autocrlf attribute set to true or input depending on the operating system used before commit, click the Fix and Commit button. As a result, all the CRLF separators will be replaced with LF separators and committed into the repository. Note that the reverse operation will not be performed when you download the files into your working directory, that is, no CRLF will appear in place of LF.
- To stop the commit procedure, click Cancel.
- To suppress showing the dialog box in the future, select the Don's warn again check box.