Update on fossil conversion

Since the initial release of the Fossil converter, a lot has changed:

  1. The code should work out of the box on NetBSD and Linux, minimal changes for other Unix platforms should be enough.
  2. Vendor branch are imported as separate branch. No merge data with trunk is provided and this only works for true vendor branches.
  3. First one computes file diffs as hints for the fourth phase. This exploits multi-threading as well as the normal per-file parallelism.
  4. The fourth phase will create deltas for the manifests in most cases as well. Delta creating and compression in this case uses multi-threading.
  5. A bug in the branch tagging was fixed.
  6. If a file was initally added a branch, the 1.1 revision should be skipped. This was fixed.

The code can be found here.

The processing time is still around 5h for src, but I'm currently running the machine with less memory. On my laptop with SSD, it needs 3h for a full conversion.

I am providing a public mirror of the conversion. It is updated around 3-4 times a day. Please avoid cloning directly from that site as I am a bit bandwidth constrained. You can fetch the repository directly from ftp.netbsd.org (which is much faster) and pull changes from my server afterwards. Please also note that the leaf versions are sometimes not completely stable due to incomplete rsync of large commits or if a branch was created without a commit between runs. When I see such an instance, I will close the wrong leaf.