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

Re: Repository corruption? If so how do I recover?

From: Patrick Burleson <pburleson_at_gmail.com>
Date: 2005-01-17 19:04:35 CET

On Mon, 17 Jan 2005 08:40:41 -0600, Ben Collins-Sussman
<sussman@collab.net> wrote:
>
> I'm not sure how to reproduce your problem; or maybe I did, and I got
> exactly the error I expected:
>
> [sussman_at_BenBook:~/scratch]$ svn co file:///usr/local/svn/testrepos wc
> A wc/svn_error_codes.h
> A wc/svn_fs.h
> A wc/svn_diff.h
> A wc/svn_sorts.h
> A wc/svn_dav.h
> A wc/svn_test.h
> A wc/svn_base64.h
> A wc/svn_ctype.h
> A wc/svn_version.h
> A wc/svn_ra_svn.h
> A wc/svn_repos.h
> A wc/svn_delta.h
> A wc/svn_path.h
> A wc/svn_xml.h
> A wc/svn_subst.h
> A wc/svn_props.h
> A wc/svn_types.h
> A wc/svn_config.h
> A wc/svn_string.h
> A wc/svn_io.h
> A wc/mod_dav_svn.h
> A wc/svn_wc.h
> A wc/svn_cmdline.h
> A wc/svn_client.h
> A wc/svn_quoprint.h
> A wc/svn_hash.h
> A wc/svn_md5.h
> A wc/svn_error.h
> A wc/svn_pools.h
> A wc/svn_utf.h
> A wc/svn_time.h
> A wc/svn_auth.h
> A wc/svn_opt.h
> A wc/svn_ra.h
> Checked out revision 1.
> [sussman@BenBook:~/scratch]$ cd wc
> [sussman@BenBook:~/scratch/wc]$ touch Foo.java
> [sussman@BenBook:~/scratch/wc]$ svn add Foo.java
> A Foo.java
> [sussman@BenBook:~/scratch/wc]$ cd ..
> [sussman_at_BenBook:~/scratch]$ svn co file:///usr/local/svn/testrepos wc2
> A wc2/svn_error_codes.h
> A wc2/svn_fs.h
> A wc2/svn_diff.h
> A wc2/svn_sorts.h
> A wc2/svn_dav.h
> A wc2/svn_test.h
> A wc2/svn_base64.h
> A wc2/svn_ctype.h
> A wc2/svn_version.h
> A wc2/svn_ra_svn.h
> A wc2/svn_repos.h
> A wc2/svn_delta.h
> A wc2/svn_path.h
> A wc2/svn_xml.h
> A wc2/svn_subst.h
> A wc2/svn_props.h
> A wc2/svn_types.h
> A wc2/svn_config.h
> A wc2/svn_string.h
> A wc2/svn_io.h
> A wc2/mod_dav_svn.h
> A wc2/svn_wc.h
> A wc2/svn_cmdline.h
> A wc2/svn_client.h
> A wc2/svn_quoprint.h
> A wc2/svn_hash.h
> A wc2/svn_md5.h
> A wc2/svn_error.h
> A wc2/svn_pools.h
> A wc2/svn_utf.h
> A wc2/svn_time.h
> A wc2/svn_auth.h
> A wc2/svn_opt.h
> A wc2/svn_ra.h
> Checked out revision 1.
> [sussman@BenBook:~/scratch]$ mv wc/Foo.java wc2/
> [sussman@BenBook:~/scratch]$ svn add wc2/Foo.java
> A wc2/Foo.java
> [sussman@BenBook:~/scratch]$ cd wc2
> [sussman@BenBook:~/scratch/wc2]$ svn commit -m blah
> Adding Foo.java
> Transmitting file data .
> Committed revision 2.
> [sussman@BenBook:~/scratch/wc2]$ cd ..
> [sussman@BenBook:~/scratch]$ svn up wc
> subversion/libsvn_wc/update_editor.c:1478: (apr_err=155000)
> svn: Failed to add file 'wc/Foo.java': object of the same name is
> already scheduled for addition
> [sussman@BenBook:~/scratch]$

That reproduction is not exactly what is being described. The
reproduction should be.

Thunderstorm:/tmp pburleson$ svn co file:///tmp/test wc
Checked out revision 0.
cd Thunderstorm:/tmp pburleson$ cd wc/
Thunderstorm:/tmp/wc pburleson$ ls
Thunderstorm:/tmp/wc pburleson$ svn mkdir foo bar
A foo
A bar
Thunderstorm:/tmp/wc pburleson$ cd foo/
Thunderstorm:/tmp/wc/foo pburleson$ ls
Thunderstorm:/tmp/wc/foo pburleson$ touch Foo.java
Thunderstorm:/tmp/wc/foo pburleson$ svn add Foo.java
A Foo.java
Thunderstorm:/tmp/wc/foo pburleson$ mv Foo.java ../bar/
Thunderstorm:/tmp/wc/foo pburleson$ cd ../bar/
Thunderstorm:/tmp/wc/bar pburleson$ svn add Foo.java
A Foo.java
Thunderstorm:/tmp/wc/bar pburleson$ cd ..
Thunderstorm:/tmp/wc pburleson$ svn commit -m blah
Adding bar
Adding bar/Foo.java
Adding foo
Adding foo/Foo.java
Transmitting file data .subversion/libsvn_client/commit.c:765: (apr_err=2)
svn: Commit failed (details follow):
subversion/libsvn_subr/io.c:546: (apr_err=2)
svn: Can't copy '/private/tmp/wc/foo/Foo.java' to
'/private/tmp/wc/foo/.svn/tmp/text-base/Foo.java.svn-base.tmp': No
such file or directory

But as you can see, the command line client fails as expected.

Now, Robert is using the Irida IDEA EAP which has a SVN plugin based
on the work at TMate. My guess is there is a bug in the TMate code
that sent something to the server to cover for the missing file. But
the server somehow didn't deal with it (I guess assuming non buggy
client code) and that put a hex on his repository. I think there might
be two problems here, one being a bug in TMate, the other being a
potential issue in the server.

Patrick

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Mon Jan 17 19:06:54 2005

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