Show More
@@ -1580,6 +1580,28 b' def movebookmarks(ui, repo, mapping, old' | |||
|
1580 | 1580 | finally: |
|
1581 | 1581 | release(tr, lock) |
|
1582 | 1582 | |
|
1583 | def cleanupnode(ui, repo, name, nodes): | |
|
1584 | """strip a group of nodes from the repository | |
|
1585 | ||
|
1586 | The set of node to strip may contains unknown nodes.""" | |
|
1587 | ui.debug('should strip %s nodes %s\n' % | |
|
1588 | (name, ', '.join([node.short(n) for n in nodes]))) | |
|
1589 | with repo.lock(): | |
|
1590 | # do not let filtering get in the way of the cleanse | |
|
1591 | # we should probably get rid of obsolescence marker created during the | |
|
1592 | # histedit, but we currently do not have such information. | |
|
1593 | repo = repo.unfiltered() | |
|
1594 | # Find all nodes that need to be stripped | |
|
1595 | # (we use %lr instead of %ln to silently ignore unknown items) | |
|
1596 | nm = repo.changelog.nodemap | |
|
1597 | nodes = sorted(n for n in nodes if n in nm) | |
|
1598 | roots = [c.node() for c in repo.set("roots(%ln)", nodes)] | |
|
1599 | for c in roots: | |
|
1600 | # We should process node in reverse order to strip tip most first. | |
|
1601 | # but this trigger a bug in changegroup hook. | |
|
1602 | # This would reduce bundle overhead | |
|
1603 | repair.strip(ui, repo, c) | |
|
1604 | ||
|
1583 | 1605 | def safecleanupnode(ui, repo, name, nodes): |
|
1584 | 1606 | """strip or obsolete nodes |
|
1585 | 1607 | |
@@ -1606,23 +1628,7 b' def safecleanupnode(ui, repo, name, node' | |||
|
1606 | 1628 | if markers: |
|
1607 | 1629 | obsolete.createmarkers(repo, markers) |
|
1608 | 1630 | else: |
|
1609 | ui.debug('should strip %s nodes %s\n' % | |
|
1610 | (name, ', '.join([node.short(n) for n in nodes]))) | |
|
1611 | with repo.lock(): | |
|
1612 | # Do not let filtering get in the way of the cleanse we should | |
|
1613 | # probably get rid of obsolescence marker created during the | |
|
1614 | # histedit, but we currently do not have such information. | |
|
1615 | repo = repo.unfiltered() | |
|
1616 | # Find all nodes that need to be stripped | |
|
1617 | # (we use %lr instead of %ln to silently ignore unknown items) | |
|
1618 | nm = repo.changelog.nodemap | |
|
1619 | nodes = sorted(n for n in nodes if n in nm) | |
|
1620 | roots = [c.node() for c in repo.set("roots(%ln)", nodes)] | |
|
1621 | for c in roots: | |
|
1622 | # We should process node in reverse order to strip tip most | |
|
1623 | # first, but this trigger a bug in changegroup hook. This | |
|
1624 | # would reduce bundle overhead | |
|
1625 | repair.strip(ui, repo, c) | |
|
1631 | return cleanupnode(ui, repo, name, nodes) | |
|
1626 | 1632 | |
|
1627 | 1633 | def stripwrapper(orig, ui, repo, nodelist, *args, **kwargs): |
|
1628 | 1634 | if isinstance(nodelist, str): |
General Comments 0
You need to be logged in to leave comments.
Login now