Exporting multiple branches (using marks to speed up things) may result in completely broken exports
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar Fast Import |
New
|
Undecided
|
Unassigned |
Bug Description
Hi,
I was trying to use fast-export/
Example scenario:
* there is a "master" repo in bzr
* we create a clone of it for internal bookkeeping, and export into git
* add a commit in git, and propagate it back to "master" bzr repo
* in bzr working clone create another commit, merge in "master" and push it
* exporting "master" repo now results in some weird handling of the marks file which effectively loses one of the commits
Attached script reproduces this scenario.
It results in the following histories:
> bzr log -n0 --short:
3 Oleksandr Usov 2012-09-06 [merge]
merged in new stuff from trunk
1.1.1 Oleksandr Usov 2012-09-06
2 Oleksandr Usov 2012-09-06
commit in bzr
1 Oleksandr Usov 2012-09-06
initial commit
> git log --oneline
8fa2cb7 merged in new stuff from trunk
94153a8 commit in bzr
9778a73 initial commit
And the fast-export record which result in the commit being dropped:
commit refs/heads/master
mark :3
committer Oleksandr Usov <email address hidden> 1346926086 +0100
data 13
commit in bzr
from :1
M 644 inline file2
data 44
this
is
some
file
number 2
another new line
commit refs/heads/master
mark :4
committer Oleksandr Usov <email address hidden> 1346926087 +0100
data 30
merged in new stuff from trunk
from :3
merge :3
M 644 inline file1
data 36
this
is
some
file
number 1
new line