[Bug 4998] New: evolve/topics: troubled changesets interact badly with topics

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Fri Dec 11 22:51:19 UTC 2015


https://bz.mercurial-scm.org/show_bug.cgi?id=4998

            Bug ID: 4998
           Summary: evolve/topics: troubled changesets interact badly with
                    topics
           Product: Mercurial
           Version: default branch
          Hardware: PC
                OS: Linux
            Status: UNCONFIRMED
          Severity: feature
          Priority: wish
         Component: evolution
          Assignee: bugzilla at selenic.com
          Reporter: mpm at selenic.com
                CC: mercurial-devel at selenic.com,
                    pierre-yves.david at ens-lyon.org

Code that walks the list of troubled changesets will retrieve the list of names
for each troubled node via repo.names.singlenode(). This will call into the
topics extension repeatedly to fetch the list of topics, which is generated
afresh each time by evaluating a revset that visits every non-public changeset.

This loop happens twice in hg import --obsolete. With about 50 troubled
changesets, this is causing about 400k changelog reads and 60s of overhead for
each step in my patch review process.

This could either be fixed in evolve by having it not hammer on the namespace
layer so hard, or by a cache in topics, or by a cache in namespaces.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list