Discussion:
svn cleanup fails to clean up
Niemann, Hartmut
2012-05-08 08:54:01 UTC
Permalink
Hello!

I had an IOerror when updating an external
(different story of an incompatibility between sqlite and our
corporate virus scanner, which is already being worked on
by our Virus department).

Now svn cleanup fails:

D:\PRJ\STM\REF\svn_nbgvo\stp\GSBTG\in\wom>svn cleanup
svn: E155016: Missing a row in WCROOT for 'D:\PRJ\STM\REF\svn_nbgvo\stp\GSBTG\in\wom'.
svn: E155016: Missing a row in WCROOT.

(This is Tortoise SVN's command line client
svn, version 1.7.4 (r1295709)
compiled Mar 8 2012, 18:47:27
on windows XP, the root of the WC is D:\PRJ\STM\REF\svn_nbgvo\stp
)

If I cd .. and svn cleanup there, I don't get an error, but when I svn update again,
it still doesn't work:

D:\PRJ\STM\REF\svn_nbgvo\stp\GSBTG\in\wom>cd ..

D:\PRJ\STM\REF\svn_nbgvo\stp\GSBTG\in>svn cleanup

D:\PRJ\STM\REF\svn_nbgvo\stp\GSBTG\in>svn up
Updating '.':

Fetching external item into 'stdscripts':
External at revision 611.


Fetching external item into 'moni32':
External at revision 251.


Fetching external item into 'libs':
External at revision 420.


Fetching external item into 'base':
External at revision 472.


Fetching external item into 'tgex':
External at revision 529.


Fetching external item into 'wom':
svn: warning: W155016: Missing a row in WCROOT for 'D:\PRJ\STM\REF\svn_nbgvo\stp\GSBTG\in\wom'.

At revision 739.
svn: E205011: Failure occurred processing one or more externals definitions

D:\PRJ\STM\REF\svn_nbgvo\stp\GSBTG\in>cd wom

D:\PRJ\STM\REF\svn_nbgvo\stp\GSBTG\in\wom>svn up
svn: E155016: Missing a row in WCROOT for 'D:\PRJ\STM\REF\svn_nbgvo\stp\GSBTG\in\wom'.
svn: E155016: Missing a row in WCROOT.


What am I supposed to do now?
Is there a force mode in svn cleanup?
In my opinion svn cleanup should never fail without giving advice what to try next.
Could svn cleanup correct this SQL table problem?
Is this a bug to be reported in the bugtracker? (Where?)


Mit freundlichen Grüßen
Dr. Hartmut Niemann

Siemens AG
Infrastructure & Cities Sector
Rail Systems Division
Locomotives and Components
IC RL LOC EN LE 8
Werner-von-Siemens-Str. 67
91052 Erlangen, Deutschland
Tel.: +49 9131 7-34264
Fax: +49 9131 7-26254
mailto:***@siemens.com

Siemens Aktiengesellschaft: Vorsitzender des Aufsichtsrats: Gerhard Cromme; Vorstand: Peter Löscher, Vorsitzender; Roland Busch, Brigitte Ederer, Klaus Helmrich, Joe Kaeser, Barbara Kux, Hermann Requardt, Siegfried Russwurm, Peter Y. Solmssen, Michael Süß; Sitz der Gesellschaft: Berlin und München, Deutschland; Registergericht: Berlin Charlottenburg, HRB 12300, München, HRB 6684; WEEE-Reg.-Nr. DE 23691322
Stefan Sperling
2012-05-08 10:08:32 UTC
Permalink
Post by Niemann, Hartmut
svn: E155016: Missing a row in WCROOT.
The working copy meta data is corrupt. It's not easy to fix.

It is possible that just this one row got corrupted, and that it could
be fixed with some sql commands. But even then I would not trust this
working copy anymore. You should get a fresh checkout.
Post by Niemann, Hartmut
Is there a force mode in svn cleanup?
No.
Post by Niemann, Hartmut
In my opinion svn cleanup should never fail without giving advice what to try next.
That would be great but it is not very easy to do.
What do you expect the software to do? Figuring out what sql statements
to run to fix broken database tables is hard to do in software.
Subversion has no artificial intelligence built-in, unfortunately ;)
Post by Niemann, Hartmut
Could svn cleanup correct this SQL table problem?
No. 'svn cleanup' removes stale lock files that usually prevent concurrent
modifications of working copy meta-data by separate client instances.
It must be used when an svn client crashes midway or is in some other
way prevented from cleanly finishing up an operation. 'svn cleanup' has
no knowledge of the sql tables used in working copy meta data.
Post by Niemann, Hartmut
Is this a bug to be reported in the bugtracker? (Where?)
If you can present a series of steps that will reliably trigger a
problem such as this, an entry in the tracker is warranted.

However, if there is a possibility that the antivirus software damaged
or otherwise interfered with the sqlite database file that is not a bug
in Subversion.
Konstantin Kolinko
2012-05-09 00:46:24 UTC
Permalink
Post by Niemann, Hartmut
Hello!
I had an IOerror when updating an external
(different story of an incompatibility between sqlite and our
corporate virus scanner, which is already being worked on
by our Virus department).
D:\PRJ\STM\REF\svn_nbgvo\stp\GSBTG\in\wom>svn cleanup
svn: E155016: Missing a row in WCROOT for
'D:\PRJ\STM\REF\svn_nbgvo\stp\GSBTG\in\wom'.
svn: E155016: Missing a row in WCROOT.
(This is Tortoise SVN's command line client
 svn, version 1.7.4 (r1295709)
   compiled Mar  8 2012, 18:47:27
on windows XP, the root of the WC is D:\PRJ\STM\REF\svn_nbgvo\stp
)
If I cd .. and svn cleanup there, I don't get an error, but when I svn update again,
D:\PRJ\STM\REF\svn_nbgvo\stp\GSBTG\in\wom>cd  ..
D:\PRJ\STM\REF\svn_nbgvo\stp\GSBTG\in>svn cleanup
Note that in svn command-line client the "svn cleanup" command does
not recurse into externals.

TortoiseSVN 1.7 "Cleanup" command does recurse into externals (unless
you clear the lowest checkbox in the "Cleanup" dialog).


If cleanup cannot fix the problem, the only way would be to delete the
"wom" directory (the broken nested worked copy) and let svn up in its
parent directory to retrieve a fresh copy of it.

If you want to dig further to the cause of the issue, note that
TortoiseSVN has a log of actions that it performed.

See Settings -> Saved Data -> Action log -> Show.
Post by Niemann, Hartmut
D:\PRJ\STM\REF\svn_nbgvo\stp\GSBTG\in>svn up
(...)

Best regards,
Konstantin Kolinko
Niemann, Hartmut
2012-05-09 11:52:12 UTC
Permalink
-----Ursprüngliche Nachricht-----
Post by Niemann, Hartmut
I had an IOerror when updating an external
(different story of an incompatibility between sqlite and our
corporate virus scanner, which is already being worked on
by our Virus department).
D:\PRJ\STM\REF\svn_nbgvo\stp\GSBTG\in\wom>svn cleanup
svn: E155016: Missing a row in WCROOT for
'D:\PRJ\STM\REF\svn_nbgvo\stp\GSBTG\in\wom'.
^^^^^^^^^^^^^^^^^^
this seems to tell me the root of the damaged working copy.
Post by Niemann, Hartmut
svn: E155016: Missing a row in WCROOT.
(This is Tortoise SVN's command line client
 svn, version 1.7.4 (r1295709)
   compiled Mar  8 2012, 18:47:27
on windows XP, the root of the WC is D:\PRJ\STM\REF\svn_nbgvo\stp
)
If I cd .. and svn cleanup there, I don't get an error, but
when I svn
Post by Niemann, Hartmut
update again,
D:\PRJ\STM\REF\svn_nbgvo\stp\GSBTG\in\wom>cd  ..
D:\PRJ\STM\REF\svn_nbgvo\stp\GSBTG\in>svn cleanup> [...]
If cleanup cannot fix the problem, the only way would be to delete the
"wom" directory (the broken nested worked copy) and let svn up in its
parent directory to retrieve a fresh copy of it.
Thank you Kontantin,
this was the clue I needed: it was enough to delete
the wom directory and svn update its parent to restore (only) the
external from the repository. I did not have to
refetch the complete working copy.

And now I see that svn cleanup *has* told me, which database was
corrupt. To me it was not obvious which svn cleanup invocation
deals with which .svn directory.



Mit freundlichen Grüßen
Dr.
Hartmut Niemann

Siemens AG
Infrastructure & Cities Sector
Rail Systems Division
Locomotives and Components
IC RL LOC EN LE 8
Werner-von-Siemens-Str. 67
91052 Erlangen, Deutschland
Tel.: +49 9131 7-34264
Fax: +49 9131 7-26254
mailto:***@siemens.com

Siemens Aktiengesellschaft: Vorsitzender des Aufsichtsrats: Gerhard Cromme; Vorstand: Peter Löscher, Vorsitzender; Roland Busch, Brigitte Ederer, Klaus Helmrich, Joe Kaeser, Barbara Kux, Hermann Requardt, Siegfried Russwurm, Peter Y. Solmssen, Michael Süß; Sitz der Gesellschaft: Berlin und München, Deutschland; Registergericht: Berlin Charlottenburg, HRB 12300, München, HRB 6684; WEEE-Reg.-Nr. DE 23691322
Loading...