crash during fast-import
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar Fast Import |
Invalid
|
Undecided
|
Unassigned | ||
bzr-fastimport (Debian) |
Fix Released
|
Unknown
|
|||
bzr-fastimport (Ubuntu) |
Fix Released
|
Undecided
|
Jelmer Vernooij |
Bug Description
The fast import crashed with the error message "list index out of range":
hpbock@mc:/tmp$ bzr fast-export ~/src/SercansIII/ sercansiii.fi
13:16:42 Calculating the revisions to include ...
13:16:42 Starting export of 110 revisions ...
13:16:44 Exported 110 revisions in 0:00:02
hpbock@mc:/tmp$ bzr fast-import-filter -x doc sercansiii.fi >sercansiii.
hpbock@mc:/tmp$ bzr fast-import sercansiii.nodoc.fi SercansIII -v
Creating destination repository ...
Shared repository with trees (format: 2a)
Location:
shared repository: SercansIII
13:17:06 Collecting statistics ...
13:17:06 Starting import of 105 commits ...
ABORT: exception occurred processing commit :2
bzr: ERROR: exceptions.
*** Bazaar has encountered an internal error. This probably indicates a
bug in Bazaar. You can help us fix it by filing a bug report at
https:/
attaching the crash file
and including a description of the problem.
The crash file is plain text and you can inspect or edit it to remove
private information.
affects: | bzr → bzr-fastimport |
Changed in bzr-fastimport: | |
status: | New → Confirmed |
Changed in bzr-fastimport: | |
status: | Confirmed → Fix Released |
Changed in bzr-fastimport (Ubuntu): | |
status: | New → Confirmed |
Changed in bzr-fastimport (Debian): | |
status: | Unknown → New |
Changed in bzr-fastimport (Debian): | |
status: | New → Fix Released |
Changed in bzr-fastimport (Ubuntu): | |
status: | Confirmed → Fix Released |
assignee: | nobody → Jelmer Vernooij (jelmer) |
Changed in bzr-fastimport: | |
status: | Fix Released → Invalid |
Ok, I investigated this a bit and I think I found the problem.
Here is my findings:
The problem is in the https:/ /launchpadlibra rian.net/ 36923622/ bzr-fastimport_ 0.9.0~bzr261- 1.diff. gz
r261 has a function branch_ mapper. BranchMapper. git_to_ bzr() which expects to get a git reference name string and returns bazaar equivalent. The diff file in the lucid's package however, changes this function to expect a *list* of git reference names and returns a dict mapping.
The diff file however does not modify callers accordingly.
So the easiest (and perhaps safest) solution would be to patch the diff-file?
The patch itself would be quite trivial: just modify the callers (only 4 places?). However, I can provide this if needed. It would be a good practice to get into bug-fixing business, if someone is willing to guide me through the whole process.