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

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
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 &quot;Adding folder A&quot;

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




Reply via email to