Shortcuts for initial imports
Currently, upon importing a repository, we go through all the complicated logic that's meant for Merge Request detection, with several drawbacks
- it's obviously slower, especially considering #135 (closed)
- it introduces unwarranted frailness, especially in cases where the import is somewhat incremental, because the intermediate states can be really arbitrary.
- it actually pushes things in the reverse logical order. For an initial import, we'd need the named branches (mostly public changesets) to move first. This triggers for instance #126 (closed) almost systematically.
We're already using lots of command-line flags in the import process, allowing multiple heads etc, it would be simpler to have a unique one: --config heptapod.initial-import=yes
. In turn, it could be interpreted in hg-git to do things in the more straightforward way.
A first version could be to push everything to Git in one row, maybe a subsequent one could push public changesets first, then drafts, we'll see.