The following commands demonstrate what seems to be a bug with
--native-eol and externals. Two repositories are created. The first
has an external link to the second. Text files with
svn:eol-style=native are added in both repositories. When the first
repository is exported with a non-default --native-eol option, the
option is only applied to the text file in the first repository, not
the one in the second which is referenced by svn:externals. On UNIX,
I get the following output from the last command:
+ file exp/foo.txt exp/repo2/foo.txt
exp/foo.txt: ASCII text, with CRLF line terminators
exp/repo2/foo.txt: ASCII text
Reproduces on UNIX with 1.6.12, and I am informed by a user on the
users mailing list that it also reproduces with the current trunk
version. If this is confirmed to be a bug, I would appreciate it if
someone experienced could enter it into the SVN bug database for an
eventual fix. Thanks.
#!/bin/sh -x
mkdir scratch; cd scratch
svnadmin create /tmp/repo1
svnadmin create /tmp/repo2
svn co file:///tmp/repo1 repo1
svn co file:///tmp/repo2 repo2
(echo "this is a"; echo "text file") > foo.txt
cp foo.txt repo1
cp foo.txt repo2
svn add repo1/foo.txt
svn add repo2/foo.txt
svn ps svn:eol-style native repo1/foo.txt
svn ps svn:eol-style native repo2/foo.txt
svn ps svn:externals 'file:///tmp/repo2 repo2' repo1
svn commit -m 'add text file and svn:externals' repo1
svn commit -m 'add text file' repo2
svn export --native-eol CRLF file:///tmp/repo1 exp
file exp/foo.txt exp/repo2/foo.txt
Received on 2010-07-22 17:27:11 CEST