Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Synchronize an SVN repo (svnsync) with encoding errors

Tags:

svn

utf-8

svnsync

Is it possible to fix/bypass non-UTF8 encoded svn:log records when synchronizing repositories with svnsync?

Background

I'm in the process of taking over the maintenance of an open source module that is stored within a large (well over 10,000 revisions) subversion (1.5.5) repository. I do not have admin access to the remote repository to dump/filter/load the module. The old repository is being discontinued and I am trying to sync the original sub module to my local (1.6+) repository with svnsync. For example:

svnsync file://home/svn/temp-repo/ http://path.to.repo/modulename/

The problem is that the old repository didn't enforce UTF8 encoding and I'm hitting errors like:

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

I can't modify the log property in the source repository so I need to somehow modify or ignore the property value when the encoding is unknown/invalid.

Any ideas?

For example:

  • can a pre-revprop-change script modify the log property in transit?
  • I'm told that git-svn can handle it but using an intermediate git repo - how exactly is this done?
  • would it be possible to ignore log properties altogether, or for particular revisions
like image 363
Hamish Avatar asked Jan 15 '11 22:01

Hamish


1 Answers

You will need to wait for the next version of Subversion, there is a pending patch to add support for non-UTF8 encodings to svnsync.

like image 183
ismail Avatar answered Sep 26 '22 06:09

ismail