I'm writing a fast-export/fast-import suite for Plastic SCM/Git and I'm finding some issues.
As I read from the documentation:
This design allows a frontend program to process an unlimited number of branches simultaneously, generating commits in the order they are available from the source data
But, implementing the "exporter" I see that you can't reference a commit that hasn't been created yet. For instance, suppose you introduce first the commit destination of the merge than the source, then you simply reference the source there, but it simply doesn't work.
So, as far as I understand the sentence "generating commits in the order they are available from the source" is simply wrong and git fast-import really need the commits to be supplied in order and references can only exist to objects introduced BEFORE.
Is it correct?
Thanks.