← Back to team overview

kicad-developers team mailing list archive

line endings


>> Could we also try to standardize on line ends? sadly bzr doesn't handle
>> automatic conversion like svn:eol-style, and diffs come out with ugly
>> results. Just a personal suggestion, they don't give actually much
>> trouble.
> Line endings:
> Yes, you should not have to suffer.
> I will look into it in the next week or so.
> Dick

OK here is my suggestion after a bit of research.  Follow this:


Attached is a proposed rules file.  I put it into my


on linux in order for it to *become active*.  On windows, it would go elsewhere, please
help with that.

We can run a test to see if it works first, for windows, linux and mac users, by following
test steps:

1) *all* kicad committers put "rules" into play as a test, or one we agree on similar to it.

2) Then checkout branch rules_check as a test.  rules_check has had the tip copy of every
text file re-committed with lf only into the repo.  Any files you check out with the rules
file in play, will get converted to native line ending format.

Value 	Checkout end-of-lines as 	Commit end-of-lines as
native 	crlf on Windows, lf otherwise 	lf
lf 	lf 	lf
crlf 	crlf 	lf
exact 	No conversion 	Exactly as in file

You can see the table above for row "native" causes the repo to have lf on those file, yet
use native line endings in the working tree, ala SVN.

Until I recommitted all text files, I was having problems with false diffs.  This is the
reason for the *rules_check* repo.  To show that that repo works.  If the test passes, I
can do a similar commit for testing to cross the bridge once and for all.

Unfortunately the attached "rules" file would have no effect it if only existed in the
repo.  You have to copy it where bazaar wants it, although we should put it into the repo
for ease of standardization across all developer's systems.  Bazaar developers have
alluded to a possible future where one in the repo will be effective.


[name *.png]
eol = exact

[name *.pdf]
eol = exact

[name *.sh]
eol = lf

[name *]
eol = native

Follow ups