You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Karl Fogel <kf...@red-bean.com> on 2008/03/30 17:29:34 UTC

Re: svn switch breaks on svn:externals

Issac Goldstand <ma...@beamartyr.net> writes:
> After several weeks of trial and error, I *think* I may have
> discovered a bug in 1.5 where svn:externals doesn't deal properly with
> peg URLs. It gives an error where checkout and update don't.
>
> See the following case:
> --- START ---
> cd /home/www/staging/staging.xxx.net ; /usr/local/bin/svn15 switch
> --non-interactive file:///home/system/svnroot/xxx/tags/test-common2/
> || /usr/local/bin/svn15 --non-interactive update ..

Your last 'update' command seems to execute only if the switch command
returns failure ("||").  That's what you intended right?  (I think so,
just want to make sure.)

> D    www/hello.html
> A    www/ielogo_white.gif
> U    www/index.html
>  U   www
>
> Fetching external item into 'www/common'
> svn: '/home/system/svnroot/common' is not a working copy
> svn: Can't open file '/home/system/svnroot/common/.svn/entries': No
> such file or directory

So the above output is from the switch...

> Fetching external item into 'www/common'
> A    www/common/hello.php
> Updated external to revision 660.
>
> Updated to revision 660.

And the above is from the update, right?

> # /usr/local/bin/svn15 propget svn:externals www
>
> ^/common/dev/ common
> --- END ---
>
> The externals break on the switch, but subsequently will get fetched
> if I do an update.  The same activity was observed for http/https URLs
> (using bundled NEON on client and mod_svn on server).  It works fine
> on checkout, too.  The working copies are all 1.5, whereas the
> repository is still 1.4 - not sure if that makes a difference.

Can you give us a full reproduction recipe, one that starts with the
creation of a repository from scratch, etc?  I know that's more trouble,
but it saves us *immense* amounts of time debugging.

Thank you,
-Karl

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: svn switch breaks on svn:externals

Posted by Blair Zajac <bl...@orcaware.com>.
C. Michael Pilato wrote:
> Issac Goldstand wrote:
>>
>> Confirmed ickiness.  Here's how to reproduce:
> 
> I was able to reproduce this without doing the 1.4 version gyrations. 
> (recipe script attached.)  The bug was easy to fix -- we had two 
> parameters to a function swapped.  I committed the fix in r30122, and 
> will propose for inclusion in Subversion 1.5.0.

Thanks for fixing that, my bad on having the two parameters swapped.

Blair

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: svn switch breaks on svn:externals

Posted by "C. Michael Pilato" <cm...@collab.net>.
Issac Goldstand wrote:
> 
> Confirmed ickiness.  Here's how to reproduce:

I was able to reproduce this without doing the 1.4 version gyrations. 
(recipe script attached.)  The bug was easy to fix -- we had two parameters 
to a function swapped.  I committed the fix in r30122, and will propose for 
inclusion in Subversion 1.5.0.

Thanks for the report, and your patience and diligence in working up a 
recipe script.  It was very helpful in allowing me to quickly pinpoint the 
problem.

-- 
C. Michael Pilato <cm...@collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand

Re: svn switch breaks on svn:externals

Posted by Issac Goldstand <ma...@beamartyr.net>.
Confirmed ickiness.  Here's how to reproduce:

svn = svn 1.4.3
svn15 = svn 1.5.0-beta1

svnadmin create /home/issac/rep

mkdir /tmp/import
cd /tmp/import
mkdir prj1
mkdir prj1/trunk
mkdir prj1/tags
mkdir prj1/branches
mkdir prj2
mkdir prj2/trunk
mkdir prj2/tags
mkdir prj2/branches

touch prj1/trunk/1
touch prj2/trunk/2

svn import -m "import" . file:///home/issac/rep
cd ~; rm -rf /tmp/import

svn copy -m "before" file:///home/issac/rep/prj1/trunk 
file:///home/issac/rep/prj1/tags/before

svn15 co file:///home/issac/rep/prj1/trunk 1

cd 1
svn15 del 1
touch 3
svn15 add 3

svn15 propset svn:externals "^/prj2/trunk/ p2" .

svn15 update
svn15 -m "r3" commit
svn15 copy -m "after" file:///home/issac/rep/prj1/trunk 
file:///home/issac/rep/prj1/tags/after

svn15 switch file:///home/issac/rep/prj1/tags/before
svn15 switch file:///home/issac/rep/prj1/tags/after
[error here]

Karl Fogel wrote:
> Issac Goldstand <ma...@beamartyr.net> writes:
>> Sigh.  I'll work on it.  I'm going to have to install another
>> production environment like this in the next few days, so solving this
>> before I do so is in my best interests too :-D
>>
>> I'll start with a clean VM soonish and keep you posted.
> 
> Thank you!

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: svn switch breaks on svn:externals

Posted by Issac Goldstand <ma...@beamartyr.net>.
By the way, svn15 was compiled --enabled-shared=no --enable-static=yes 
(to make a nice binary that could sit alongside anything, like svn 1.4, 
without making shared lib troubles).  That's both in this test and in 
the original environment.

I doubt that should be an issue, but if you can't recreate the problem 
with normal compile settings, it might be worth looking into.

   Issac

Karl Fogel wrote:
> Issac Goldstand <ma...@beamartyr.net> writes:
>> Sigh.  I'll work on it.  I'm going to have to install another
>> production environment like this in the next few days, so solving this
>> before I do so is in my best interests too :-D
>>
>> I'll start with a clean VM soonish and keep you posted.
> 
> Thank you!

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: svn switch breaks on svn:externals

Posted by Karl Fogel <kf...@red-bean.com>.
Issac Goldstand <ma...@beamartyr.net> writes:
> Sigh.  I'll work on it.  I'm going to have to install another
> production environment like this in the next few days, so solving this
> before I do so is in my best interests too :-D
>
> I'll start with a clean VM soonish and keep you posted.

Thank you!

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: svn switch breaks on svn:externals

Posted by Issac Goldstand <ma...@beamartyr.net>.
Not cc-ing the user-list

Short answers inline:

Karl Fogel wrote:
> Issac Goldstand <ma...@beamartyr.net> writes:
>> After several weeks of trial and error, I *think* I may have
>> discovered a bug in 1.5 where svn:externals doesn't deal properly with
>> peg URLs. It gives an error where checkout and update don't.
>>
>> See the following case:
>> --- START ---
>> cd /home/www/staging/staging.xxx.net ; /usr/local/bin/svn15 switch
>> --non-interactive file:///home/system/svnroot/xxx/tags/test-common2/
>> || /usr/local/bin/svn15 --non-interactive update ..
> 
> Your last 'update' command seems to execute only if the switch command
> returns failure ("||").  That's what you intended right?  (I think so,
> just want to make sure.)

Well, it's not really needed if it works :)

> 
>> D    www/hello.html
>> A    www/ielogo_white.gif
>> U    www/index.html
>>  U   www
>>
>> Fetching external item into 'www/common'
>> svn: '/home/system/svnroot/common' is not a working copy
>> svn: Can't open file '/home/system/svnroot/common/.svn/entries': No
>> such file or directory
> 
> So the above output is from the switch...
Correct

> 
>> Fetching external item into 'www/common'
>> A    www/common/hello.php
>> Updated external to revision 660.
>>
>> Updated to revision 660.
> 
> And the above is from the update, right?
> 
Correct
>> # /usr/local/bin/svn15 propget svn:externals www
>>
>> ^/common/dev/ common
>> --- END ---
>>
>> The externals break on the switch, but subsequently will get fetched
>> if I do an update.  The same activity was observed for http/https URLs
>> (using bundled NEON on client and mod_svn on server).  It works fine
>> on checkout, too.  The working copies are all 1.5, whereas the
>> repository is still 1.4 - not sure if that makes a difference.
> 
> Can you give us a full reproduction recipe, one that starts with the
> creation of a repository from scratch, etc?  I know that's more trouble,
> but it saves us *immense* amounts of time debugging.
> 

Sigh.  I'll work on it.  I'm going to have to install another production 
environment like this in the next few days, so solving this before I do 
so is in my best interests too :-D

I'll start with a clean VM soonish and keep you posted.

   Issac

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org