Hi, Otto! On Jun 24, Otto Kekäläinen wrote: > 2016-06-24 18:58 GMT+03:00 Sergei Golubchik <[email protected]>: > >> 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) ? > > Somehow, despite the current .gitattributes, the std_data file line > endings get converted by git during import/merge and the resulting > repository CRLF files are only these: > > ./mysql-test/std_data/loaddata7.dat: ASCII text, with CRLF line > terminators > ./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 > ./pcre/testdata/grepoutputN: ASCII text, with CRLF, CR, LF line > terminators > ./pcre/testdata/greppatN4: ASCII text, with CRLF line > terminators
It just happened that these files have CRLF lines inside, while other *.result files have only LF lines. Git did not convert anything. > To get git not to change the line endings I defined in .git/info/attributes > *.* binary > * binary -text means "not to change the line endings". binary means "-diff -merge -text", that is "do not do diffs on the file, do not try to merge them, do not change line endings". For result files, it's an overkill, -text is sufficient. > Only the files girls.txt was touched in 10.0.26, I didn't figure out > why git wanted to import/update those other files. > However, 10.0.26 introduced a storage/connect/.gitattributes file, > maybe it lead to this situation. > > It declares like this: > > +# Declare files that will always have LF line endings on checkout. > +*.result text eol=lf > +mysql-test/connect/std_data/*.txt text eol=lf > +mysql-test/connect/std_data/*.dat text eol=lf > > Apparently connect developers what those files to have unix line > endings, maybe we should follow suite. Hmm. I thought that git only looks at top-level .gitattributes, so the second one is ignored. But If git also considers .gitattributes from subdirectories, I'll need to take a look at that second .gitattributes. Regards, Sergei Chief Architect MariaDB and [email protected] _______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp

