Noorul Islam K M <noo...@collab.net> writes:

> Noorul Islam K M <noo...@collab.net> writes:
>
>> While working on issue 3799, in one of the review comments julianf said
>> the following about number 10 test in external_tests.py.
>>
>> <quote>
>> A/B/gamma is only an external: it does not appear in the WC until
>> Subversion processes the external definitions.
>>
>> It looks to me like that failure was showing us a bug.  If I run the
>> test, without your patch, in verbose mode, I see:
>>
>> CMD: svn export svn-test-work/working_copies/externals_tests-10
>> svn-test-work/working_copies/externals_tests-10.export [...]
>> A    svn-test-work/working_copies/externals_tests-10.export/A
>> A    svn-test-work/working_copies/externals_tests-10.export/A/B
>> A    svn-test-work/working_copies/externals_tests-10.export/A/B/lambda
>> A    svn-test-work/working_copies/externals_tests-10.export/A/B/gamma
>> [...]
>> A    svn-test-work/working_copies/externals_tests-10.export/A/B/gamma
>> [...]
>> CMD: svn export --ignore-externals
>> svn-test-work/working_copies/externals_tests-10
>> svn-test-work/working_copies/externals_tests-10.export [...]
>> A    svn-test-work/working_copies/externals_tests-10.export/A
>> A    svn-test-work/working_copies/externals_tests-10.export/A/B
>> A    svn-test-work/working_copies/externals_tests-10.export/A/B/lambda
>> A    svn-test-work/working_copies/externals_tests-10.export/A/B/gamma
>> [...]
>>
>> There is a comment in the test about --ignore-externals not ignoring
>> A/B/gamma.  That's a bug.  And the first export (without
>> --ignore-externals) is also buggy.  It shouldn't export A/B/gamma twice.
>>
>> We shouldn't just quietly tweak the test to hide the bug.  We should
>> write a new test specifically to check for that bug, or fix the bug, or
>> file an issue, or write to the dev@ list about it.  Something.
>>
>> - Julian
>> </quote>
>>
>> I tried to re-create this out of test environment and I came up with a
>> reproduction script which is attached.
>>
>> Here I have a repository with the following files 
>>
>> A/B/lambda
>> A/D/gamma
>>
>> Along with this I have an external set on A/B as 
>>
>> "^/A/D/gamma gamma"
>>
>> Now while exporting the working copy. A/B/gamma is exported twice which
>> looks like a bug and while exporting the WC with --ignore-externals
>> A/B/gamma is exported once which also seems to be a bug since A/B/gamma
>> is an external.
>>
>> I can go ahead and create an issue for this if people can confirm this. 
>>
>
> Somehow I missed the attachment. Here is it.
>
> Thanks and Regards
> Noorul
>

Really sorry about the previous mail in which I attached the script
inline and also script had some issues. Please find attached the correct
one.

Thanks and Regards
Noorul

svn=~/projects/subversion/builds/trunk/bin/svn
svnadmin=~/projects/subversion/builds/trunk/bin/svnadmin

repo=/tmp/repo
wc=/tmp/wc
exp=/tmp/export

rm -r -f $repo $wc

$svnadmin create $repo

$svn co file://$repo $wc
mkdir -p $wc/A/B
mkdir -p $wc/A/D
touch $wc/A/B/lambda
touch $wc/A/D/gamma

$svn add $wc/A
$svn ci $wc -m "Adding folder A"

$svn ps svn:externals "^/A/D/gamma gamma" $wc/A/B
$svn ci $wc -m "Setting svn:externals on A/B"
$svn up $wc
rm -r -f $exp
echo "\nSimple export"
$svn export $wc /tmp/export
rm -r -f $exp
echo "\nExport with --ignore-externals"
$svn export --ignore-externals $wc /tmp/export




Reply via email to