Re: Pass 2 failure, but from which file ?

Michael Haggerty <[email protected]> Mon, 23 Mar 2015 18:04:01 +0100
Newsgroups gmane.comp.version-control.subversion.cvs2svn.user
Message-ID <[email protected]>
[Please don't top-post.]

On 03/23/2015 03:22 PM, Kerry, Richard wrote:
>> By this point in the conversion the commit messages have been converted =
into unique tokens,
>=20
> Entirely reasonable.  Presumably to save storage.
> In which case you'll have an index for each one, so you get the
> messages back when the destination format is written ?

Yes.

>> so it would take a scan through the whole list of commits to
>> provide the information that you are asking for (i.e. it is doable but n=
ot
>> trivial or cheap).
>=20
> So if you've got the indexes you can just scan them and list the revision=
s where they occurred ?
> The sort of thing a computer program can do quite easily even if it's a b=
it expensive.
>=20
> I'd like to be sure that I detect all messages with this fault -
> whether I fix them manually, individually, or by setting UTF-8 for all
> of them.
> At the moment I presume it aborts at the first one ? It'd be useful
> to have it list all of them. (Though perhaps that is
> what it does and I only have one fault?)

The program does not abort at the first such problem. It lists all of
the problems in all of the authors and/or log messages and *then*
aborts. So apparently you only have the one problem.

> I'm not a Python programmer (I'm mainly C++) though I understand the
> basics, so I'm not confident to dive in and work out how to make this
> change. With a bit of guidance I might try.

I'm afraid I hardly have any time to work on cvs2svn these days. The
databases used by cvs2svn are documented to some extent in
doc/design-notes.txt and cvs2svn_lib/config.py. But most of them are in
Python "pickle" format, so it would be quite difficult to access them
using a different programming language.

Michael
 ________________________________________
> From: Michael Haggerty [[email protected]]
> Sent: 22 October 2014 15:36
> To: Kerry, Richard; [email protected]
> Subject: Re: Pass 2 failure, but from which file ?
>=20
> On October 22, 2014 3:47:17 AM PDT, "Kerry, Richard" <richard.kerry@atos.=
net> wrote:
>> I've been getting a message during a conversion (long log message
>> severely reduced - probably removed offending characters) :
>>
>> ----- pass 2 (CleanMetadataPass) -----
>> Converting metadata to UTF8...
>> WARNING: Problem decoding log message:
>> ------------------------------------------------------------------------=
---
>> Made changes so that system meets requirment to write logs to 2xDBs
>> "Hi,
>>    Making output module work was team effort.  I thank you all.
>> Regards,"
>> ------------------------------------------------------------------------=
---
>> ERROR: There were warnings converting author names and/or log messages
>> to Unicode (see messages above).  Please restart this pass
>> with one or more '--encoding' parameters or with
>> '--fallback-encoding'.
>>
>> Although it is reasonably clear how I can fix it (I've added
>> "--fallback-encoding=3Dutf-8") I would like to check what the message is
>> in both the original CVS revision and the new SVN one.
>>
>> The message printed out doesn't say which file (or revision) it is
>> from.  Is there any way of finding where it comes from ?  It would have
>> been helpful for this information to have been printed with the warning
>> but I can't at the moment trace this through the code.  I'm new to
>> cvs2svn and I'm not that familiar with Python (I'm C/C++).
>=20
> In general, a single log message appears multiple times, namely in every =
CVS file that was changed in that commit. By this point in the conversion t=
he commit messages have been converted into unique tokens, so it would take=
 a scan through the whole list of commits to provide the information that y=
ou are asking for (i.e. it is doable but not trivial or cheap).
>=20
> But it's pretty easy for you to find the files yourself: CVS "*,v" files =
are in text format. So just grep through your repo for a distinctive string=
 in the message.


--=20
Michael Haggerty
[email protected]

------------------------------------------------------
http://cvs2svn.tigris.org/ds/viewMessage.do?dsForumId=3D1670&dsMessageId=3D=
3107800

To unsubscribe from this discussion, e-mail: [[email protected]=
ris.org].