You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by solo turn <so...@yahoo.com> on 2002/08/05 21:24:31 UTC

working copy text base is corrupt

how does one handle a

svn_error: #21058 : <Working copy text base is
corrupt>
  apply_textdelta: checksum mismatch for
'./bla/.svn/text-base/RegFunctions.java.svn-base'
   recorded checksum: utE4opbEYDdcoRuSCsIVeQ==
   actual checksum:   Nb8fNtvt9aG+A4KHYDqoxg==

?

__________________________________________________
Do You Yahoo!?
Yahoo! Health - Feel better, live better
http://health.yahoo.com

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

Re: working copy text base is corrupt

Posted by Karl Fogel <kf...@newton.ch.collab.net>.
This is probably related to

   http://subversion.tigris.org/issues/show_bug.cgi?id=443

Thanks so much for taking the time to find out how the corruption
occurred! (For those who didn't see the context, the end of solo's
mail quoted an earlier request from me for a repro recipe).

solo turn <so...@yahoo.com> writes:
> it happenend with two working copies, one on nt, one
> on unix. prerequisits:
> 1. the server had a broken post-commit hook
> 2. the client on nt had a broken diff3
> 
> i think the following is broken:
> - a failure in the post-commit-hook
>   should NOT prevent the update on
>   the wc (the update is done in 
>   the repository).

Yeah, this is the part that relates to issue #443.  We need a way to
report post-commit errors to the client, such that a) the client still
learns of the error, but b) the client's own operations are not
disturbed nor interrupted by the error.

> - maybe: a failure to merge an update
>   should not result in a checksum
>   error, when in the meantime somebody
>   else changes the file to a new version.

I'm not sure I understand this?

Are you saying: when in the post-commit stage on the client side, we
should never bump the revision number of the wc file unless we also
reset its checksum?  In other words, that these actions should be
linked together -- either all happen, or none happen:

   - revision number is updated
   - text base is updated
   - checksum is updated

If that's what you mean, then yes, you're absolutely right.  It's a
bug if these things don't happen together.

> - IF there is a checksum error, then
>   why not merge it anyway? is a different
>   checksum not THE indicator for
>   "please merge"?

I'd have to be in the code context to answer this question.  In
general, if we are sending svndiff data based on a text-base, OR
receiving svndiff data to apply against a text-base, then we use the
local checksum to make sure that text-base is still okay.

Can you file a new issue with your reproduction recipe, and mention
"issue #443" somewhere in the description of the new issue?

Thanks,
-Karl

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

Re: working copy text base is corrupt

Posted by solo turn <so...@yahoo.com>.
it happenend with two working copies, one on nt, one
on unix. prerequisits:
1. the server had a broken post-commit hook
2. the client on nt had a broken diff3

i think the following is broken:
- a failure in the post-commit-hook
  should NOT prevent the update on
  the wc (the update is done in 
  the repository).
- maybe: a failure to merge an update
  should not result in a checksum
  error, when in the meantime somebody
  else changes the file to a new version.
- IF there is a checksum error, then
  why not merge it anyway? is a different
  checksum not THE indicator for
  "please merge"?

used versions:
alpha build on unix (server/client).
first, alpha build, then newest "install.exe" from the
download section (alpha+?).

what one ;) did:
1. on nt (alpha version)
   update to a file
   svn ci, got the "hook error"
   svn up, got the "merge error"

   tried to do a "svn up", "svn revert",
   "svn cleanup" (can't remebmer the oder
   and how often i did it).

2. on unix
   update to the same file
   svn ci, got the "hook error"
   svn up, got the change to the working copy

3. on the server
   fixed the broken hook

4. did another update and commit to the same
   file on unix

5. on nt, uninstalled alpha, installed alpha+

5a. tried the "svn up", got the diff3 error
   again.
   
6. fixed the path to make diff3 work

7. tried to do a "svn up", "svn revert",
   "svn cleanup" (can't remebmer the oder, did
   a cleanup to get rid of the lock)
   but the final error is the "checksum error"
   on "svn up"

some extracts from the nt commandline:

C:\tmp\wc\> svn ci -m "email-test"
Sending        
src/RegFunctions.java
Transmitting file data .
svn_error: #21086 : <A repository hook failed.>
  Commit failed (details follow):

svn_error: #21086 : <A repository hook failed.>
  MERGE request failed on /svnrep/test

svn_error: #21086 : <A repository hook failed.>

run_post_commit_hook: error running cmd
`/svnrep//hooks/post-commit'


C:\tmp\wc\>svn up

svn_error: #21046 : <Problem running log>
  in directory ./src

svn_error: #21046 : <Problem running log>
  start_handler: error processing command 'merge' in
./src

svn_error: #21089 : <Error calling external program>
  svn_wc_merge() returned an unexpected error

svn_error: #21089 : <Error calling external program>
  svn_io_run_diff3: Error running
c:\progra~1\cygnus\cygwin\bin\diff3.exe:  exitcode was
2, args were:
in directory ., basenames:
./src/RegFunctions.java.62664.00001.tmp
./src/RegFunctions.java.62664.00001.tmp.62580.00001.tmp
./src/RegFunctions.java.62664.00001.tmp.62584.00001.tmp



--- Karl Fogel <kf...@newton.ch.collab.net> wrote:
> solo turn <so...@yahoo.com> writes:
> > how does one handle a
> > 
> > svn_error: #21058 : <Working copy text base is
> > corrupt>
> >   apply_textdelta: checksum mismatch for
> > './bla/.svn/text-base/RegFunctions.java.svn-base'
> >    recorded checksum: utE4opbEYDdcoRuSCsIVeQ==
> >    actual checksum:   Nb8fNtvt9aG+A4KHYDqoxg==
> >
> > ?
> 
> First, one checks out a new working copy, and
> transfers any local mods
> from the old (saved) working copy.
> 
> Then, if one has time, one tries to figure out how
> this might have
> happened... :-)
> 
> -Karl
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail:
> dev-help@subversion.tigris.org
> 


__________________________________________________
Do You Yahoo!?
Yahoo! Health - Feel better, live better
http://health.yahoo.com

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

Re: working copy text base is corrupt

Posted by Karl Fogel <kf...@newton.ch.collab.net>.
solo turn <so...@yahoo.com> writes:
> how does one handle a
> 
> svn_error: #21058 : <Working copy text base is
> corrupt>
>   apply_textdelta: checksum mismatch for
> './bla/.svn/text-base/RegFunctions.java.svn-base'
>    recorded checksum: utE4opbEYDdcoRuSCsIVeQ==
>    actual checksum:   Nb8fNtvt9aG+A4KHYDqoxg==
>
> ?

First, one checks out a new working copy, and transfers any local mods
from the old (saved) working copy.

Then, if one has time, one tries to figure out how this might have
happened... :-)

-Karl


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