ManifestMiner.iter_dir_with_flat_paths()
This method will be needed for the non recursive case of `CommitService.GetTreeEntries`. The complication is the "flat path" computation, starting with its actual definition. We keep on using a fake changeset class in the tests (with a single integration case to tie it up), and we include for reference a direct Python translation of the Gitaly algorithm for reference. This algorithm is of course meant for Git, where the directory structure is explicit and naturally arborescent, but in Mercurial (with the current manifests), it would be O(n^2), where n is the total length of the manifest, and that is not acceptable.
Loading
Please register or sign in to comment