The remotefilelog annotate logic was not keeping track of which commits it had
seen when doing the bfs ancestor walk. For very mergy histories this resulted in
a ton of duplicate work.
Details
Details
- Reviewers
quark - Group Reviewers
Restricted Project - Commits
- rFBHGXad5622aae1ba: remotefilelog: add seen set to annotate algorithm
Diff Detail
Diff Detail
- Repository
- rFBHGX Facebook Mercurial Extensions
- Lint
Lint Skipped - Unit
Unit Tests Skipped
Event Timeline
remotefilelog/remotefilectx.py | ||
---|---|---|
384 | Could we check and set seen here? It looks simpler. |
remotefilelog/remotefilectx.py | ||
---|---|---|
384 | If we check it here we can end up queueing things we don't need to queue. In a theoretical bfs that could end up queueing a lot of extra things. That's unlikely in a commit graph, but I figured might as well be efficient. |
Could we check and set seen here? It looks simpler.