JITHIN K wrote on Tue, 30 Jul 2019 14:57 +00:00:
> * Verifying metadata at revision 0 ...
> * Error verifying repository metadata.
> svnadmin: E200002: Failed to parse revprops for r0.
> svnadmin: E200002: Serialized hash malformed value data
> "
That's supposed to be impossible *even after a system crash*.
The revprops file is changed by creating a new file, flushing it to
disk, and atomically renaming it into place. This design is resilient
to crashes… when fflush(3) and rename(2) deliver on their promises.
I would suspect that fflush(3) on your system returns before the data is
actually written to persistent (durable) storage.
> 4. I edited the file manually and tried to sync but it failed. Did
> anyone faced this problem. Any support would be appreciated.
Well, just edit the revprops file to be valid. It's a binary file
format so you have to be careful about lengths and trailing spaces,
but it should be straightforward. If in doubt, do this:
% svnadmin freeze /svn/myrepo /bin/sh
$ cp db/revprops/0/0 db/revprops/0/0.BACKUP
$ printf 'END\n' > db/revprops/0/0
$ cat db/revprops/0/0.BACKUP
[for each key-value pair in the output of the previous command, do:]
$ svnadmin setrevprop -r0 . key value
$ exit
%
(Of course, you should never modify anything under the db/ directory except for
fsfs.conf… so don't try hacks such as the above unless you have to, and even
then, _make a backup_ first.)
Cheers,
Daniel