mirror of
https://github.com/facebook/sapling.git
synced 2024-10-15 19:29:13 +03:00
3309a8090a
Summary: pushrebase has logic that loops through all the files and builds a list of what has changed. Unfortunately, Mercurial has some optimizations where if the manifest isn't loaded already, it tries to only load the manifest delta, and checks if this might be a good idea by first checking if the file is in the commit metadata file list. The commit metadata is a list, which makes it a O(n) scan to check containment. Since we do this for every file, it becomes O(n^2). To avoid this, let's just make sure the actual manifest is loaded. Once every repo is a tree repo, we can get rid of the manifest delta optimization and get rid of the need to prefetch here. Reviewed By: singhsrb Differential Revision: D13944829 fbshipit-source-id: c0f33ca650b7956a1f39e961c94678a6f7f380b6 |
||
---|---|---|
.. | ||
__init__.py | ||
common.py | ||
errors.py | ||
recording.py | ||
stackpush.py |