def remove(self):
        self._repo.archive_to_abandoned(
            self._review_hash,
            self.review_branch_name(),
            self._tracking_branch.base)

        # push the abandoned archive, don't escalate if it fails to push
        try:
            # XXX: oddly pylint complains if we call push_landed() directly:
            #      "Using method (_tryloop) as an attribute (not invoked)"
            def push_abandoned():
                self._repo.push_abandoned()

            self._tryloop(
                push_abandoned,
                abdt_errident.PUSH_ABANDONED_ARCHIVE)
        except Exception:
            # XXX: don't worry if we can't push the landed, this is most
            #      likely a permissioning issue but not a showstopper.
            #      we should probably nag on the review instead.
            pass

        self._push_delete_review_branch()
        self._push_delete_tracking_branch()
        self._review_branch = None
        self._review_hash = None
        self._tracking_branch = None
        self._tracking_hash = None
Remove review branch and tracking branch.
dataset/ETHPy150Open bloomberg/phabricator-tools/py/abd/abdt_branch.py/Branch.remove