Mercurial > hg
view contrib/debian/control @ 30706:2e4862646f02
repair: speed up stripping of many roots
repair.strip() expects a set of root revisions to strip. It then
builds the full set of descedants by walking the descandants of
each. It is rare that more than a few roots get passed in, but if that
happens, it will wastefully walk the changelog for each root. So let's
just walk it once.
I noticed this because the narrowhg extension was passing not only
roots, but all the commits to strip. When there were tens of thousands
of commits to strip, this resulted in quadratic behavior with that
extension.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Wed, 04 Jan 2017 10:07:12 -0800 |
parents | 5573b0f8dc28 |
children | dc22729b4ebd |
line wrap: on
line source
Source: mercurial Section: vcs Priority: optional Maintainer: Mercurial Developers <mercurial-devel@selenic.com> Build-Depends: debhelper (>= 9), dh-python, netbase, python-all, python-all-dev, python-docutils, unzip, zip Standards-Version: 3.9.4 X-Python-Version: >= 2.6 Package: mercurial Depends: python, ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, mercurial-common (= ${source:Version}) Architecture: any Description: fast, easy to use, distributed revision control tool. Mercurial is a fast, lightweight Source Control Management system designed for efficient handling of very large distributed projects. . Its features include: * O(1) delta-compressed file storage and retrieval scheme * Complete cross-indexing of files and changesets for efficient exploration of project history * Robust SHA1-based integrity checking and append-only storage model * Decentralized development model with arbitrary merging between trees * Easy-to-use command-line interface * Integrated stand-alone web interface * Small Python codebase Package: mercurial-common Architecture: all Depends: ${misc:Depends}, ${python:Depends}, Recommends: mercurial (= ${source:Version}), ca-certificates Suggests: wish Breaks: mercurial (<< ${source:Version}) Replaces: mercurial (<< 2.6.3) Description: easy-to-use, scalable distributed version control system (common files) Mercurial is a fast, lightweight Source Control Management system designed for efficient handling of very large distributed projects. . This package contains the architecture independent components of Mercurial, and is generally useless without the mercurial package.