← Back to team overview

maria-developers team mailing list archive

Re: Windows line endings in MariaDB sources again (

 

Hi, Otto!

On Jun 24, Otto Kekäläinen wrote:
> Hello!
> 
> While trying to release 10.0.26 for Debian and Ubuntu I noticed git
> chokes again on Windows line endings. As our .gitattributes states
> that by default git should clean up the line endings, why do we keep
> getting new Windows line endings in new code?
> 
> mariadb-10.0$ cat .gitattributes
> # Set the default behavior, in case people don't have core.autocrlf set.
> * text=auto
> ...
> storage/connect/mysql-test/connect/std_data/*.txt -text
^^^^

Precisely. This line means that git should do NOT convert line endings
for *.txt file under storage/connect/mysql-test/connect/std_data.

> mariadb-10.0.26$ find . | xargs file | grep CRLF
> ./storage/connect/mysql-test/connect/std_data/boyswin.txt: ASCII text, with CRLF line terminators
> ./storage/connect/mysql-test/connect/std_data/expenses.txt: ASCII text, with CRLF line terminators
> ./storage/connect/mysql-test/connect/std_data/emp.txt: ASCII text, with CRLF line terminators

And it does not, as instructed. Looks correct to me.

> ./mysql-test/r/loadxml.result: ASCII text, with CRLF, LF line terminators
> ./mysql-test/r/perror-win.result: ASCII text, with CRLF, LF line terminators
> ./mysql-test/r/mysql_binary_mode.result: ASCII English text, with CRLF, LF line terminators
> ./mysql-test/r/func_regexp_pcre.result: UTF-8 Unicode C++ program text, with CRLF, CR, LF line terminators
^^^^
This is handled by the .gitattributes line

*.result -text -whitespace

> ./mysql-test/std_data/loaddata7.dat: ASCII text, with CRLF line terminators
^^^^^

This, by the following:

*.dat -text -whitespace

> ./pcre/testdata/grepoutputN: ASCII text, with CRLF, CR, LF line terminators
> ./pcre/testdata/greppatN4: ASCII text, with CRLF line terminators

The first one, strangely enough, is not in .gitattributes, the second is:

pcre/testdata/greppatN4 -text

In short, everything is correct. Git was explictly told not to convert
those files, and it doesn't do that.

> This leads for me to:
> 
> dpkg-source: info: building mariadb-10.0 using existing ./mariadb-10.0_10.0.26.orig.tar.gz
> dpkg-source: info: local changes detected, the modified files are:
>  mariadb-10.0/storage/connect/mysql-test/connect/std_data/boyswin.txt
>  mariadb-10.0/storage/connect/mysql-test/connect/std_data/emp.txt
>  mariadb-10.0/storage/connect/mysql-test/connect/std_data/expenses.txt
> dpkg-source: error: aborting due to unexpected upstream changes, see
> /tmp/mariadb-10.0_10.0.26-1.diff.Yzwwhw

Sorry, I don't follow. How does the first (CRLF in specific files) cause
the second (your dpkg-source error) ?

Regards,
Sergei
Chief Architect MariaDB
and security@xxxxxxxxxxx


Follow ups

References