Re: Handling of warnings from cvs (cvs checkout: Skipping `$Log$' keyword due to excessive comment leader)

Michael Haggerty <[email protected]> Mon, 15 Nov 2010 12:24:43 +0100
Newsgroups gmane.comp.version-control.subversion.cvs2svn.devel
Message-ID <[email protected]>
On 11/15/2010 10:15 AM, Jonathan Nieder wrote:
> Trying to import NetBSD CVS[1] into git (all at once or module by
> module).  After passes 1-3:
> [...]
> Questions:
> 
> That took 33 hours.  Is it possible to import a single module instead?

Yes, you can import single modules.  Just point cvs2git at the
subdirectory of the CVS repository corresponding to the module that you
want to convert.

Presumably the error that you saw was caused by a corrupt RCS file.  If
that was the problem, and you are concerned that there will be more such
problems, then I suggest that you do a test run in which you convert
your repository one (arbitrarily small) fragment at a time.  That way if
cvs2git detects any such problems you can just fix the problems then
reconvert the fragments where problems were found, rather than having to
restart a giant conversion for each error.  Repeat until all fragments
convert cleanly, then the full conversion should also work (or a
module-by-module, or however you want to do the final conversion).

> Failing that, is it possible to resume?

It is impossible to resume a conversion in such a way that only a single
module is reprocessed.

> Is it possible to ignore warnings from 'cvs'?  Would it be advisable?

cvs2git doesn't know how to ignore CVS warnings, but you could pass it a
"cvs" executable that is really a script that ignores this particular
error message.  (cvs2git fails whenever it sees output on stderr from
the cvs command.)  Whether or not it is advisable depends on whether you
want to fix this kind of problem or whether you are content with cvs's
workaround for the problem that it detects.

> Should I be using --use-external-blob-generator instead?

I usually recommend it, as it is *vastly* faster than using CVS.
However, be aware that it doesn't do anything with the "$Log$" keyword,
so if you rely on that keyword being expanded correctly you cannot use
that option.  (Even so, it might be useful for testing.)

> Does this look like a CVS bug?  See [2] for the RCS file.

Hmmm, the file doesn't look corrupt after all.  And (contrary to my
first guess) the problem is not triggered by the unusual characters in
the comment line (which, for the record, looks like this:

    comment	@.\" @;

).  In fact, it seems to be caused by some lines in the file text that
contain the "$Log$" keyword with a lot of text preceding it.  Judging
from the file text, I suspect that this file was not intended to have
its keywords expanded.  So you might consider fixing the problem by
marking the file as binary (with "cvs admin -kb").

> Thanks for cvs2git.  I've been pleasantly surprised by its conversion
> results more than a few times now.

I'm glad we could help the NetBSD project.

Michael

-- 
Michael Haggerty
[email protected]
http://softwareswirl.blogspot.com/

------------------------------------------------------
http://cvs2svn.tigris.org/ds/viewMessage.do?dsForumId=1667&dsMessageId=2681927

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