I have just traced a bug in the "svn copy URL_at_rev file" command.
While following instructions in the svn-book to retrieve a deleted file
svn copy svn://fred.ncs.local/ncs/truck/.../a.txt_at_211 a.txt
<segmentation fault>
This occurred on a Linux machine.
I repeated the command from windows command line with the same result.
tested on svn version 1.5.1(Linux and win32) and 1.5.x branch(win32)
I have traced this through to libsvn_client: copy.c line 1455
The return from svn_wc_add_repos_file2() is not checked with SVN_ERR().
This fails when the repository name does not exactly match the
repository name on the command line.
In my case the Linux attempt was different as I used the machines
actual name "fred" as opposed to "subversion.ncs.local" which the
working copy was built from. On the win32 case I was using a
file:///c:/... on the command line, but the working copy was checked
out by TortoiseSVN and had file:///C:/... in the working copy.
The segmentation fault actually occurs a few lines down when calling
extend_wc_mergeinfo() with dst_entry==NULL.
After changing to catch the error from the svn_wc_add_repos_file2()
I do get an error message about the repositories having different
roots which with careful inspection of C vs c may help the user to
get it right next time. Would be nicer to to check the repository by
uuid rather than name, then check the path within the repository as
a string. Or maybe I missed something completely.
Thanks for a great product.
Alan Wood
Napier
New Zealand.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-08-23 01:10:30 CEST