svnsync error

0 views
Skip to first unread message

Engebakken Geir

unread,
Nov 10, 2010, 7:17:39 PM11/10/10
to us...@subversion.apache.org
I have this error that I have searched the net for,and found a lot of incidents similar, but I cannot find a way to resolve this. The error is well known, I think :

svnsync: Cannot accept 'svn:ignore' property because it is not encoded in UTF-8

The error looks straightforward, something fishy about the svn:ignore property possibly from a pre-1.6.x commit where the check for UTF-8 was not that strict.

In the db/transactions dir the dead transaction is saved as 54270-xxxx, so I supposed the revision with wrong svn:ignore was 54270, but svn info on the synced repository says 54271 is the latest revision.

I have tried to find the offending sn:ignore in the source repository, but svnproget doesn't list any svn:ignore for those revisions. This is how I run the svn proget.

[root@alp-edbbfsvn db]# svn pg --revprop 'svn:ignore' -r 54270 file:///source/java
[root@alp-edbbfsvn db]#


Nothing is returned, and the same for revision 54271.

Could anyone explain what I do wrong here?


( I also noticed something special about this revision 54270 (and 54271) they both lacked svn:log, although that is compulsory in our repository, enforced by a pre-commit, but that could have been manipulated by an admin though)


Any pointers would be helpful!

Geir

Note : All inquiries regarding Subversion, MKS and general Development servers should be directed to "EDB SourceControl System"

Engebakken Geir

unread,
Nov 11, 2010, 6:24:01 AM11/11/10
to Engebakken Geir, us...@subversion.apache.org
I found out svn:ignore is not a revision property, so that is why I could not find it. It is a versioned property, so I tried this :


Y:\util>svn pg svn:ignore https://svn.edb.com/repos/java/cards/cap/cap_client/trunk@54271
?\216stmarka
-
Golf.url

And then it is obvious that it contains non UTF-8 characters, "?\216" but how can I get svnsync to tolerate this, or find another workaround. As I understand Subversion there is no way to modify the svn:ignore property as it is in revision 54271?


Geir

Note : All inquiries regarding Subversion, MKS and general Development servers should be directed to "EDB SourceControl System"

Johan Corveleyn

unread,
Nov 11, 2010, 8:29:21 AM11/11/10
to Engebakken Geir, us...@subversion.apache.org
On Thu, Nov 11, 2010 at 1:17 AM, Engebakken Geir
<geir.en...@edb.com> wrote:
> I have this error that I have searched the net for,and found a lot of incidents similar,  but I cannot find a way to resolve this. The error is well known, I think :
>
> svnsync: Cannot accept 'svn:ignore' property because it is not encoded in UTF-8
>
> The error looks straightforward, something fishy about the svn:ignore property possibly from a pre-1.6.x commit where the check for UTF-8 was not that strict.
>
> In the db/transactions dir the dead transaction is saved as 54270-xxxx, so I supposed the revision with wrong svn:ignore was 54270, but svn info on the synced repository says 54271 is the latest revision.
>
> I have tried to find the offending sn:ignore in the source repository, but svnproget doesn't list any svn:ignore for those revisions. This is how I run the svn proget.
>
> [root@alp-edbbfsvn db]# svn pg --revprop 'svn:ignore' -r 54270 file:///source/java
> [root@alp-edbbfsvn db]#
>
>
> Nothing is returned, and the same for revision 54271.
>
> Could anyone explain what I do wrong here?

svn:ignore is normally not a revision property (revprop), but a
*versioned* property (see the book for explanation about the
differences between those two). I.e. it's attached to a file or
directory, and was added or edited in either 54270 or 54271.

So, I think you'll find it by first examining which files had
properties added/updated in those revisions, and then propgetting on
those files (with a peg revision). Something like this:
# svn log -v -r 54270 file:///source/java
<check which files/dirs had properties added/updated (A or U in second column)>
# svn propget svn:ignore file:///source/java/the/path/to/the/file/or/dir@54270

I'm not sure how you would be able to fix them though (since it's a
versioned property, you can't just edit it like a revision property;
it's part of the history).

Maybe some of the folks on this list with more svnsync experience know
how to cope with this...

HTH,
--
Johan

Engebakken Geir

unread,
Nov 11, 2010, 9:40:05 AM11/11/10
to Johan Corveleyn, us...@subversion.apache.org

Indeed, you are right, as I found iouyt and posted in another mail. The error was due to Norwegian characterset not in UTF-8 in svn:ignore but how to fix this is now the question.

One possibility is dump/fix/load, but the repository is quite large (180000 revisions and 20 Gb, so I fear the size of the dump file!)

I have seen some references to a fixed svnsync that can take encoding as a parameter, but I don't know if this is in an official Svn release. We are running 1.6.5 now.

Reply all
Reply to author
Forward
0 new messages