[ Please do not top-post on this list, i.e. put your reply inline or below the thing you're replying to. Also, if possible, use plain-text email. More below ... ]
On Tue, Feb 22, 2011 at 8:27 AM, Thomas STEININGER <tsteinin...@racon-linz.at> wrote: > Daniel Shahaf <d...@daniel.shahaf.name> > > Thomas STEININGER wrote on Tue, Feb 22, 2011 at 07:39:49 +0100: > > > do i really understand, that i have to execute this: > > > propedit --editor-cmd 'sed --flags' > > > on a file? on all urls that are in my svn-repository? > > > or how you mean? > > > > > > > On all revisions. > > > > What you'll want is to write a script that takes a filename in argv[1] > > and converts that file (in-place) from latin1 to utf8. Then you can use > > that file as --editor-cmd. > > > > Something like > > % svn propedit --revprop -r $REV --editor-cmd 'perl -pi -e > > "s/\\xfc/\\xc3\\xbc/g"' > > might just do the trick. (untested) > > > Ok - you mean that i start a script that iterates over all files and within > over all revisions of the repository > and execute on it your command. > But you say 'and converts that file (in-place) from latin1 to utf8' and i > have no problem with the file-contents itself. > The files have correct contents - including mutated vowel. > > My Problem is in the logs. > The log-messages (commit-comments) have mutated vowel and if i try to show > the log-comments of some file with Tortoisesvn or Eclipse-subversive with > JavaHL-Connector > i have a error and see nothing. > > So i must correct the checkin-comments. > > How can i get this done? > > Or does i have misunderstood your trick? Yes, you've misunderstood :-). The important thing to realize is that log message (aka checkin-comments) are *revision properties*, which means they are associated with *revisions* directly, not with the files touched by that revision. As opposed to *versioned properties*, which are meta-data associated with files (like svn:eol-style, svn:keywords, svn:mime-type etc...), and those properties are themselves versioned (i.e., they can change from one revision to the other). You can find some more background about this in the svn book: http://svnbook.red-bean.com/nightly/en/svn.advanced.props.html This means that you can change a revision property, like "svn:log" (i.e. the checkin-comment), without specifying a file. Just a revision, together with the --revprop option, should do the trick. That is, if the change is allowed by the server, which means that the "pre-revprop-change" hook should allow the change (by default it doesn't). See this chapter for some more info about that: http://svnbook.red-bean.com/nightly/en/svn.reposadmin.maint.html#svn.reposadmin.maint.setlog So, all that being said, what Daniel means is that you could apply something like: svn propedit --revprop -r $REV --editor-cmd 'perl -pi -e "s/\\xfc/\\xc3\\xbc/g"' to all revisions (REV) that need to be corrected (either a list that you make up manually, or something automated with "svn propget --revprop" combined with "sed", or something similar ...). HTH, -- Johan