diff contrib/showstack.py @ 28390:48e1a641765d stable

obsolete: fix n^2 marker computation behavior Previously, if you ran obsolete.createmarkers with a bunch of markers that did not have successors (like when you do a prune), it encountered a n^2 computation behavior because the loop would read the changelog (to get ctx.parents()), then add a marker, in a loop. Adding a marker invalidated the computehidden cache, and reading the changelog recomputed it. This resulted in pruning 150 commits taking 150+ seconds in a large repo. The fix is to break the reading part of the loop to be separate from the writing part.
author Durham Goode <durham@fb.com>
date Thu, 04 Feb 2016 15:38:04 -0800
parents bdac264e5ed4
children f2fe7b199bb4
line wrap: on
line diff