CVS migration help

Thomas Manson dev.mansonthomas at gmail.com
Tue Oct 7 16:47:26 BST 2008


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.1 and
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/07492984/attachment-0001.htm 


More information about the bazaar mailing list