bzr fastexport crashes for the drizzle tree
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar Fast Import |
New
|
Undecided
|
Unassigned |
Bug Description
Summary: bzr fastimport is broken for the drizzle tree. I have a two-line fix in lp:~lyda.google/bzr-fastimport/mysql-export-fix . I'm not completely familiar with the fastimport code so I'd really like this reviewed - but if it works, please add it? Thanks.
To setup for testing you need bzr_fastimport installed. I do the following:
# Install the perquisite python module:
bzr branch lp:python-fastimport python_fastimport
cd python_fastimport
sudo ./setup.py install
# Install the bzr plugin (revisit this for my fix):
cd ~/.bazaar/plugins
bzr branch lp:bzr-fastimport fastimport
To reproduce for drizzle, do the following:
% bzr branch lp:drizzle
# [uninteresting output]
# You now have a drizzle tree in the drizzle/ directory.
% git init --bare drizzle.git
# You now have an uninitialised git repo in drizzle.git/
% bzr fast-export --export-
GIT_
00:52:23 Calculating the revisions to include ...
00:52:24 Starting export of 21030 revisions ...
00:55:11 1000/21030 commits exported at 357/minute
00:58:03 2000/21030 commits exported at 353/minute
01:00:46 3000/21030 commits exported at 358/minute
01:02:46 4000/21030 commits exported at 385/minute
fatal: Path storage/
fast-import: dumping crash report to drizzle.
bzr: broken pipe
# Once you've confirmed the bug, switch to the fixed version do the following:
cd ~/.bazaar/plugins
# Instead of removing it, you can also just move it somewhere not visible to bzr.
rm -rf fastimport
bzr branch lp:~lyda.google/bzr-fastimport/mysql-export-fix fastimport
Try to export the drizzle tree again and you will not trigger the bug. The branch contains two fixes. One handles deleted paths, the other handles incorrect user names. A close review by someone who knows the code better would be a good idea. Generally though it would be nice if a bzr -> git conversion would work cleanly with all the mysql code bases.
Thanks for your time, sorry this was so long.