--native-eol setting not applied to externals?

2010-07-21 Thread Mark Hanson
I have a set of source code containing a some svn:externals references to other 
repositories.  In each group of code, there are text files marked with the 
svn:eol-style property, value: native.

If I export all the source without using --native-eol on Windows or UNIX, the 
text files are all in the expected format (CRLF or LF, respectively).

If I export all the source on Windows, using the --native-eol LF option, the 
text files in the non-external area are correctly in UNIX LF format.  The text 
files in the external areas are in the native Windows CRLF format.  Apparently 
the --native-eol setting is not applied to the source in the external areas.

If I export all the source on UNIX, using the --native-eol CRLF option, the 
same problem occurs in reverse.  The non-external text files are correctly in 
Windows CRLF format, and the external text files are in the native LF format.

I think the expected behavior should be to have all the source (main and 
external) exported in the format specified with the --native-eol option.

As a workaround, we are currently exporting the externals separately, with the 
appropriate --native-eol option, after exporting the main source with the 
--ignore-externals option.  This works as expected.

The versions of client and servers are all >= 1.6.5.

Can anyone confirm?

Thanks,
Mark



Re: --native-eol setting not applied to externals?

2010-07-22 Thread Mark Hanson
On Wed, Jul 21, 2010 at 11:03 PM, Daniel Shahaf  wrote:
> Mark Hanson wrote on Wed, Jul 21, 2010 at 08:37:25 -0700:
>> Can anyone confirm?
>
> No.  Using July 18 trunk, both with file externals and directory externals, an
> exported file with svn:eol-style=native has the --native-eol end-of-lines in 
> the
> export.
>
> I used the 'svn export --native-eol=foo WC WC' syntax.

Here's a script that reproduces the problem on UNIX with 1.6.12.  The
output I get is:

+ file exp/foo.txt exp/repo2/foo.txt
exp/foo.txt:       ASCII text, with CRLF line terminators
exp/repo2/foo.txt: ASCII text

Does this reproduce with the trunk?  Was this a known problem that has
been fixed?

#!/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 setting not applied to externals?

2010-07-22 Thread Mark Hanson
On Thu, Jul 22, 2010 at 7:41 AM, Daniel Shahaf  wrote:
> Mark Hanson wrote on Thu, Jul 22, 2010 at 07:25:58 -0700:
>> + file exp/foo.txt exp/repo2/foo.txt
>> exp/foo.txt:       ASCII text, with CRLF line terminators
>> exp/repo2/foo.txt: ASCII text
>>
>> Does this reproduce with the trunk?
>
> Yes, I get the same output with trunk.

Thanks, I'll report it to the dev list.

>> #!/bin/sh -x
>> mkdir scratch; cd scratch
>
> Need to check if it exists before the mkdir.

Yeah, I didn't want to spend my morning making a trivial bug
reproduction script production quality.  Sorry.