fold: replace a compat condition with a less specific proxy
If `scmutil.cleanupnodes()` is overridden, the check in
`scmutil.cleanupnodes.__code__.co_varnames` will fail. Let's use a
less specific proxy for that condition so extensions are safely
override `scmutil.cleanupnodes()`. I picked `util.safehasattr(scmutil,
'nullrev')` as the proxy. That basically checks for Mercurial commit
d739f423bf06, which is two commits later than the commit we actually
care about.
+ − <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ − <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ − "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+ − <!-- Generated by graphviz version 2.40.1 (20161225.0304)
+ − -->
+ − <!-- Title: Mercurial graph Pages: 1 -->
+ − <svg width="368pt" height="188pt"
+ − viewBox="0.00 0.00 368.00 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ − <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">
+ − <title>Mercurial graph</title>
+ − <!-- 0 -->
+ − <g id="node1" class="node">
+ − <title>0</title>
+ − <polygon fill="none" stroke="#000000" stroke-width="4" points="72,-180 0,-180 0,-144 72,-144 72,-180"/>
+ − <text text-anchor="middle" x="36" y="-158.3" font-family="mono" font-size="14.00" fill="#000000">0:0dc9</text>
+ − </g>
+ − <!-- 1 -->
+ − <g id="node2" class="node">
+ − <title>1</title>
+ − <polygon fill="none" stroke="#000000" stroke-width="4" points="216,-180 144,-180 144,-144 216,-144 216,-180"/>
+ − <text text-anchor="middle" x="180" y="-158.3" font-family="mono" font-size="14.00" fill="#000000">1:7b49</text>
+ − </g>
+ − <!-- 0->1 -->
+ − <g id="edge1" class="edge">
+ − <title>0->1</title>
+ − <path fill="none" stroke="#000000" stroke-width="2" d="M72.3373,-162C90.9973,-162 113.9327,-162 133.8329,-162"/>
+ − <polygon fill="#000000" stroke="#000000" stroke-width="2" points="133.9241,-165.5001 143.924,-162 133.924,-158.5001 133.9241,-165.5001"/>
+ − </g>
+ − <!-- 2 -->
+ − <g id="node3" class="node">
+ − <title>2</title>
+ − <polygon fill="none" stroke="#000000" stroke-width="2" points="360,-180 288,-180 288,-144 360,-144 360,-180"/>
+ − <text text-anchor="middle" x="324" y="-158.3" font-family="mono" font-size="14.00" fill="#000000">2:4e96</text>
+ − </g>
+ − <!-- 1->2 -->
+ − <g id="edge2" class="edge">
+ − <title>1->2</title>
+ − <path fill="none" stroke="#000000" stroke-width="2" d="M216.3373,-162C234.9973,-162 257.9327,-162 277.8329,-162"/>
+ − <polygon fill="#000000" stroke="#000000" stroke-width="2" points="277.9241,-165.5001 287.924,-162 277.924,-158.5001 277.9241,-165.5001"/>
+ − </g>
+ − <!-- 3 -->
+ − <g id="node4" class="node">
+ − <title>3</title>
+ − <polygon fill="none" stroke="#000000" stroke-width="2" points="360,-36 288,-36 288,0 360,0 360,-36"/>
+ − <text text-anchor="middle" x="324" y="-14.3" font-family="mono" font-size="14.00" fill="#000000">3:3363</text>
+ − </g>
+ − <!-- 1->3 -->
+ − <g id="edge3" class="edge">
+ − <title>1->3</title>
+ − <path fill="none" stroke="#000000" stroke-width="2" d="M198.2377,-143.7623C223.6646,-118.3354 269.8747,-72.1253 298.6431,-43.3569"/>
+ − <polygon fill="#000000" stroke="#000000" stroke-width="2" points="301.3142,-45.6356 305.9104,-36.0896 296.3644,-40.6858 301.3142,-45.6356"/>
+ − </g>
+ − <!-- 2->3 -->
+ − <g id="edge4" class="edge">
+ − <title>2->3</title>
+ − <path fill="none" stroke="#000000" stroke-width="2" stroke-dasharray="5,2" d="M324,-135.7351C324,-106.8541 324,-61.2198 324,-36.0896"/>
+ − <ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="324" cy="-139.7623" rx="4" ry="4"/>
+ − </g>
+ − </g>
+ − </svg>