"B. W. Fitzpatrick" <fitz@red-bean.com> writes:
> Put it into STACK, but here it is for your perusal.
>
> - successive commit bug
>
> If I checkout a working copy, then mod a file, I can commit
> it OK, but if I mod it again, I get an error (I modded iota
> twice in the Greek tree) on the next commit:
>
> pantheon: ...foo$../svn ci
>
> svn_error: #21038 file not found: filesystem `/home/bwf/svn-repo',
> transaction `0', path `/A/D/iota'
> pantheon: ...foo$
>
> -Fitz
Doing the same thing, I get the following error:
svn_error: #21007 Delta source ended unexpectedly
First of all, the fact that Fitz's error message even says
"transaction `0'" looked scary to me, since I *thought* we never
recycled transaction numbers. I've submitted a patch to fix this
problem, which someone is more than welcome to reject on the grounds
of my not understanding that particular situation.
As best as I can tell, the reason for the error message I was getting
(since I never could reproduce Fitz's myself) is that the fs editor
doesn't seem to do much with any of the base_revision arguments passed
to its functions, save for replace_root and adds with histories. So,
what I had going on here is that my root directory in the working copy
was still at revision 1, while the file iota was at revision 2. We
called replace_root in the fs editor with base_revision 1, got our
svn_fs_root_t for that revision, and from then on, we were only
concerned with revision 1 and our current transaction...meaning we
called apply_textdeltas on revision 1 of iota instead of revision 2.
Naturally, then, the sizes of the deltas between the working copy's
SVN/tmp/iota and SVN/text-base/iota didn't match up with the expected
difference in length between the working copy's iota and revision 1 of
iota in the filesystem. And since I don't fully understand how the
delta stuff works, you may discount as rubbish my last sentence if you
wish.
I am not qualified to fix this problem, unfortunately, but I hope my
investigation proves useful to someone who is.
Thanks for the report, Fitz.
Received on Sat Oct 21 14:36:26 2006