[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Re: Antwort: Re: problem with mutated vowel in log-message-contents

From: Johan Corveleyn <jcorvel_at_gmail.com>
Date: Tue, 22 Feb 2011 09:43:25 +0100

[ 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
<tsteininger_at_racon-linz.at> wrote:
> Daniel Shahaf <d.s_at_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
Received on 2011-02-22 09:44:19 CET

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.