##// END OF EJS Templates
smartset: split generatorset classes to avoid cycle...
smartset: split generatorset classes to avoid cycle I uncovered a cycle manifesting in a memory leak by running `hgperfrevset '::tip'`. The cycle was due to generatorset.__init__ assigning a bound method to self.__contains__. Internet sleuthing revealed that assigning a bound method to an instance attribute always creates a cycle. This commit creates two new variants of generatorset for the special cases of ascending and descending generators. The special implementations of __contains__ have been extracted to these classes where they are defined as __contains__. generatorset now implements __new__ and changes the spawned type to one of the new classes if needed. Differential Revision: https://phab.mercurial-scm.org/D1780
Gregory Szorc -
r35517:12a46ad6 default
Show More
Name Size Modified Last Commit Author
/ contrib / macosx
Readme.html Loading ...
Welcome.html Loading ...
distribution.xml Loading ...

http://www.w3.org/TR/html4/strict.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>Read Me - Important Information</title>
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica}
p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #000fed}
span.s1 {text-decoration: underline}
span.s2 {font: 12.0px Courier}
</style>
</head>
<body>

Before you install




This is an OS X version of Mercurial that depends on the default Python installation.




After you install




This package installs the hg executable as /usr/local/bin/hg. See hg debuginstall for more info on file locations.




Documentation




Visit the https://mercurial-scm.org/">Mercurial web site and wiki




There's also a free book, https://book.mercurial-scm.org/">Distributed revision control with Mercurial




Reporting problems




If you run into any problems, please file a bug online:


https://bz.mercurial-scm.org/">https://bz.mercurial-scm.org/


</body>
</html>