2013/2/10 Axel Hecht <
l1...@mozilla.com>
> Great, thanks for the investigation. That's exactly one of the potential
> problems that I wanted to get figured out.
I decided to go a little deeper and recreated this situation:
- Started a new repository called *main-rep* (this would be
mozilla-central), made 3 commits in it.
- Cloned in a second repository called *child-rep* (e.g. elm repository)
and converted to a third repository called *converted-rep* (e.g.
mozilla-central string only)
At this point all three repositories have the same content with 3 commits.
Then I made 2 changes on both main-rep and child-rep, overlapping in time,
run again hg convert so that main-rep and converted-rep have the same
changesets. As I wrote in my previous mail, hg convert consider only the
new changesets (2) so this is a very quick process even on an elephant like
mozilla-central
This is the content of converted-rep (and main-rep) at this point
http://www.yetanothertechblog.com/wp-content/uploads/2013/02/rep_beforemerge.png
Then I merged child-rep into main-rep, run hg convert again from main-rep
to converted-rep and all new changesets are copied (something I wasn't sure
about)
http://www.yetanothertechblog.com/wp-content/uploads/2013/02/mainrep_aftermerge.png
Unless I'm missing something obvious, maybe because of the oversimplified
repositories, this is good. Merges don't mess conversions, the real problem
is if you add a new folder to the inclusion filter since it won't be run
against changesets already imported.
For those interested, in my first test - partial, considering that I missed
some folders and didn't import the entire locales folder - these are the
numbers:
- mozilla-central: 1.8 GB, 114631 files, 121454 changesets, 675603
revisions
- string-only repository: 15 MB, 551 files, 3290 changesets, 4347
revisions.
Francesco