CVS migration help

Thomas Manson dev.mansonthomas at gmail.com
Tue Oct 7 16:52:20 BST 2008


Same result with 1.7.0.1.

I've tried with
ctx.cvs_filename_decoder = CVSTextDecoder(
    [
        #'latin1',
        'utf8',
        #'ascii',
        ],
    fallback_encoding='latin1'
    )

Same result.



Where do I change the encoding of bzr ?

bzr 1.7.1 on python 2.5.2 (linux2)

arguments: ['/usr/bin/bzr', 'fast-import', '-']
*encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_US.UTF-8'
*plugins:
On Tue, Oct 7, 2008 at 17:47, Thomas Manson <dev.mansonthomas at gmail.com>wrote:

>  in cvs2svn option file :
>
> # You might want to be especially strict when converting filenames to
> # unicode (e.g., maybe not specify a fallback_encoding).
> ctx.cvs_filename_decoder = CVSTextDecoder(
>     [
>         'latin1',
>         #'utf8',
>         #'ascii',
>         ],
>     fallback_encoding='ascii'
>     )
>
> I've added the ppa repositiory for ubuntu apt-get and update to 1.7.0.1and will try again.
> Thomas
>
> On Tue, Oct 7, 2008 at 17:22, Jelmer Vernooij <jelmer at samba.org> wrote:
>
>> Am Dienstag, den 07.10.2008, 17:03 +0200 schrieb Thomas Manson:
>> > Hi Michael,
>> >
>> >   I've checkout the trunk version (the version on ubuntu hardy heron
>> > is quite old : 2.0.1)
>> >   succeed in cvs2svn conversion,
>> >
>> >  unfortunately it crashes in the same way that bzr cvsps-import
>> > does :
>> >
>> >
>> > thomas at home:~/temp/bzr$
>> > cat ../cvs2svn-tmp/git-blob.dat  ../cvs2svn-tmp/git-dump.dat |  bzr
>> > fast-import -
>> > bzr: ERROR: exceptions.UnicodeDecodeError: 'utf8' codec can't decode
>> > bytes in position 43-45: invalid data
>> The problem seems to be that one of the characters in your CVS
>> repository is not valid as UTF8 character. Did you specify the locale in
>> which the filenames are encoded explicitly somehow?
>>
>> Git does not have this problem, since it does not interpret any of the
>> filenames you store in it. This has advantages (conversion can't fail
>> since you're not doing conversion at at all), but it also has
>> disadvantages - checking out the repository on hosts with a different
>> encoding breaks the filenames.
>>
>> Cheers,
>>
>> Jelmer
>>
>> > Traceback (most recent call last):
>> >   File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line
>> > 834, in run_bzr_catch_errors
>> >     return run_bzr(argv)
>> >   File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line
>> > 790, in run_bzr
>> >     ret = run(*run_argv)
>> >   File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line
>> > 492, in run_argv_aliases
>> >     return self.run(**all_cmd_args)
>> >   File "/home/thomas/.bazaar/plugins/fastimport/__init__.py", line
>> > 199, in run
>> >     params, verbose)
>> >   File "/home/thomas/.bazaar/plugins/fastimport/__init__.py", line 77,
>> > in _run
>> >     return proc.process(p.iter_commands)
>> >   File "/home/thomas/.bazaar/plugins/fastimport/processor.py", line
>> > 83, in process
>> >     self._process(command_iter)
>> >   File
>> >
>> "/home/thomas/.bazaar/plugins/fastimport/processors/generic_processor.py",
>> line 317, in _process
>> >     processor.ImportProcessor._process(self, command_iter)
>> >   File "/home/thomas/.bazaar/plugins/fastimport/processor.py", line
>> > 105, in _process
>> >     handler(self, cmd)
>> >   File
>> >
>> "/home/thomas/.bazaar/plugins/fastimport/processors/generic_processor.py",
>> line 486, in commit_handler
>> >     handler.process()
>> >   File "/home/thomas/.bazaar/plugins/fastimport/processor.py", line
>> > 164, in process
>> >     for fc in self.command.file_iter():
>> >   File "/home/thomas/.bazaar/plugins/fastimport/parser.py", line 312,
>> > in iter_file_commands
>> >     yield self._parse_file_modify(line[2:])
>> >   File "/home/thomas/.bazaar/plugins/fastimport/parser.py", line 365,
>> > in _parse_file_modify
>> >     path = self._path(params[2])
>> >   File "/home/thomas/.bazaar/plugins/fastimport/parser.py", line 493,
>> > in _path
>> >     return s.decode('utf_8')
>> >   File "/usr/lib/python2.5/encodings/utf_8.py", line 16, in decode
>> >     return codecs.utf_8_decode(input, errors, True)
>> > UnicodeDecodeError: 'utf8' codec can't decode bytes in position 43-45:
>> > invalid data
>> > bzr 1.3.1 on python 2.5.2.final.0 (linux2)
>> > arguments: ['/usr/bin/bzr', 'fast-import', '-']
>> > encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_US.UTF-8'
>> > plugins:
>> >
>> > bzrtools
>> /usr/lib/python2.5/site-packages/bzrlib/plugins/bzrtools [1.3.0]
>> >   cvsps_import         /home/thomas/.bazaar/plugins/cvsps_import
>> > [unknown]
>> >   fastimport           /home/thomas/.bazaar/plugins/fastimport
>> > [unknown]
>> >
>> > launchpad
>>  /usr/lib/python2.5/site-packages/bzrlib/plugins/launchpad [unknown]
>> > *** Bazaar has encountered an internal error.
>> >     Please report a bug at https://bugs.launchpad.net/bzr/+filebug
>> >     including this traceback, and a description of what you
>> >     were doing when the error occurred.
>> >
>> >
>> > I don't think it's related to cvs2svn or cvsps as it fails in both
>> > cases.
>> > It should be a bzr bug.
>> >
>> > I've successfully converted my project to git repository format with
>> > these set of command :
>> >
>> > export CVSROOT=/home/thomas/temp/cvs2git/cvs/files
>> >
>> > git cvsimport -C /home/thomas/temp/cvs2gitOutput/crf-irp
>> > crf-irp
>> > git cvsimport -C /home/thomas/temp/cvs2gitOutput/crf-irp-model
>> > crf-irp-model
>> > git cvsimport -C /home/thomas/temp/cvs2gitOutput/crf-irp-monitor
>> > crf-irp-monitor
>> > git cvsimport -C /home/thomas/temp/cvs2gitOutput/crf-irp-portail
>> > crf-irp-portail
>> > git cvsimport -C /home/thomas/temp/cvs2gitOutput/crf-irp-utilities
>> > crf-irp-utilities
>> >
>> >
>> > Is it possible to convert the git version of my sources to bzr ? maybe
>> > it would be successfull.
>> >
>> >
>> > Thomas.
>> >
>> >
>> >
>> >
>> > On Tue, Oct 7, 2008 at 12:41, Michael Haggerty <mhagger at alum.mit.edu>
>> > wrote:
>> >         Jelmer Vernooij wrote:
>> >         > Am Dienstag, den 07.10.2008, 00:01 +0200 schrieb Thomas
>> >         Manson:
>> >         >> I've look to it... but didn't tryed yet...
>> >         >>
>> >         >> It really misses straightforward howto (for all tools
>> >         except bzr
>> >         >> cvsimport)
>> >         > cvsps-import should be the best solution here, we should
>> >         just fixing
>> >         > that imho. What's blocking you from using it?
>> >
>> >
>> >         No conversion tool that is based on cvsps will be able to do a
>> >         truly
>> >         reliable job of migrating from CVS.  cvsps, which was written
>> >         for
>> >         another purpose, simply is not robust enough and does not emit
>> >         enough
>> >         information for a complete conversion.  I gave many concrete
>> >         examples of
>> >         its shortcomings on the Mercurial mailing list [1].
>> >
>> >         Deducing a project's history from CVS's incomplete records is
>> >         a very
>> >         tricky thing; cvs2svn's feature list [2] will give you an idea
>> >         of the
>> >         kinds of things an industrial-strength converter needs to
>> >         handle.
>> >         cvs2svn deduces the CVS changesets itself, using a much more
>> >         robust
>> >         algorithm than that used by cvsps.  (The main disadvantage of
>> >         cvs2svn is
>> >         that it can only be used for one-time conversions, not for
>> >         tracking a
>> >         live CVS repository incrementally.)
>> >
>> >         cvs2svn/cvs2git can create output in git-fast-import format
>> >         [3], which
>> >         should also be readable by the bzr fast-import tool.  It
>> >         hasn't gotten
>> >         much testing in "cvs2bzr" mode, but given that 90% of the job
>> >         is
>> >         inferring CVS's history, it should not be too much work to fix
>> >         any
>> >         problems in the "2bzr" part.  Therefore, any feedback would be
>> >         much
>> >         appreciated.
>> >
>> >         (By the way, if you want to use cvs2svn to convert to bzr, I
>> >         suggest
>> >         that you use the trunk version of cvs2svn, which has several
>> >         improvements compared to release 2.1.1.)
>> >
>> >         Michael
>> >
>> >         [1]
>> >
>> http://selenic.com/pipermail/mercurial-devel/2008-February/004975.html
>> >
>> >         [2] http://cvs2svn.tigris.org/features.html
>> >
>> >         [3] http://cvs2svn.tigris.org/cvs2git.html
>> >
>>
>> --
>> Jelmer Vernooij <jelmer at samba.org> - http://samba.org/~jelmer/
>> Jabber: jelmer at jabber.fsfe.org
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.ubuntu.com/archives/bazaar/attachments/20081007/d738b9f0/attachment.htm 


More information about the bazaar mailing list