[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Bug in exporting externals?

From: Noorul Islam K M <noorul_at_collab.net>
Date: Tue, 31 May 2011 14:51:24 +0530

Noorul Islam K M <noorul_at_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
Received on 2011-05-31 11:23:32 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.