You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Mark Hanson <mb...@gmail.com> on 2010/07/22 15:25:09 UTC

--native-eol not applied to externals

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

Re: --native-eol not applied to externals

Posted by Mark Hanson <mb...@gmail.com>.
On Thu, Jul 22, 2010 at 10:03 AM, Bert Huijben <be...@qqmail.nl> wrote:
> Fixed this issue on trunk in r966747.
>
>>       Bert

Excellent!  Thanks, Bert!

RE: --native-eol not applied to externals

Posted by Bert Huijben <be...@qqmail.nl>.

> -----Original Message-----
> From: Bert Huijben [mailto:bert@qqmail.nl]
> Sent: donderdag 22 juli 2010 17:54
> To: 'Mark Hanson'; dev@subversion.apache.org
> Subject: RE: --native-eol not applied to externals
> 
> 
> 
> > -----Original Message-----
> > From: Mark Hanson [mailto:mbh000@gmail.com]
> > Sent: donderdag 22 juli 2010 17:25
> > To: dev@subversion.apache.org
> > Subject: --native-eol not applied to externals
> >
> > 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
> 
> I think you can reproduce this with just a single repository and an
> svn:external definition, as I can see that the eol style setting isn't
> passed to the externals handling of the export code.

Fixed this issue on trunk in r966747.

> 	Bert


RE: --native-eol not applied to externals

Posted by Bert Huijben <be...@qqmail.nl>.

> -----Original Message-----
> From: Mark Hanson [mailto:mbh000@gmail.com]
> Sent: donderdag 22 juli 2010 17:25
> To: dev@subversion.apache.org
> Subject: --native-eol not applied to externals
> 
> 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

I think you can reproduce this with just a single repository and an
svn:external definition, as I can see that the eol style setting isn't
passed to the externals handling of the export code.

	Bert