From b962416c8172fbe602b621184b3b92a9a0df4f85 Mon Sep 17 00:00:00 2001 From: mhagger Date: Sat, 2 Sep 2017 06:40:20 +0000 Subject: [PATCH] CVSFileItems.imported_remove_1_1(): remove level of nesting Exit early if we can't do anything. git-svn-id: http://cvs2svn.tigris.org/svn/cvs2svn/trunk@5467 be7e6eca-30d4-0310-a8e5-ac0d63af7087 --- cvs2svn_lib/cvs_file_items.py | 70 ++++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 34 deletions(-) diff --git a/cvs2svn_lib/cvs_file_items.py b/cvs2svn_lib/cvs_file_items.py index d339047b..941e1d6e 100644 --- a/cvs2svn_lib/cvs_file_items.py +++ b/cvs2svn_lib/cvs_file_items.py @@ -560,40 +560,42 @@ class CVSFileItems(object): assert vendor_lod_items.cvs_revisions cvs_rev = vendor_lod_items.cvs_revisions[0] - if isinstance(cvs_rev, CVSRevisionModification) \ - and not cvs_rev.deltatext_exists: - cvs_branch = vendor_lod_items.cvs_branch - rev_1_1 = self[cvs_branch.source_id] - assert isinstance(rev_1_1, CVSRevision) - logger.debug('Removing unnecessary revision %s' % (rev_1_1,)) - - # Delete the 1.1.1 CVSBranch and sever the vendor branch from trunk: - self._sever_branch(vendor_lod_items) - - # Delete rev_1_1: - self.root_ids.remove(rev_1_1.id) - del self[rev_1_1.id] - rev_1_2_id = rev_1_1.next_id - if rev_1_2_id is not None: - rev_1_2 = self[rev_1_2_id] - rev_1_2.prev_id = None - self.root_ids.add(rev_1_2.id) - - # Move any tags and branches from rev_1_1 to cvs_rev: - cvs_rev.tag_ids.extend(rev_1_1.tag_ids) - for id in rev_1_1.tag_ids: - cvs_tag = self[id] - cvs_tag.source_lod = cvs_rev.lod - cvs_tag.source_id = cvs_rev.id - cvs_rev.branch_ids[0:0] = rev_1_1.branch_ids - for id in rev_1_1.branch_ids: - cvs_branch = self[id] - cvs_branch.source_lod = cvs_rev.lod - cvs_branch.source_id = cvs_rev.id - cvs_rev.branch_commit_ids[0:0] = rev_1_1.branch_commit_ids - for id in rev_1_1.branch_commit_ids: - cvs_rev2 = self[id] - cvs_rev2.prev_id = cvs_rev.id + if not isinstance(cvs_rev, CVSRevisionModification) \ + or cvs_rev.deltatext_exists: + return + + cvs_branch = vendor_lod_items.cvs_branch + rev_1_1 = self[cvs_branch.source_id] + assert isinstance(rev_1_1, CVSRevision) + logger.debug('Removing unnecessary revision %s' % (rev_1_1,)) + + # Delete the 1.1.1 CVSBranch and sever the vendor branch from trunk: + self._sever_branch(vendor_lod_items) + + # Delete rev_1_1: + self.root_ids.remove(rev_1_1.id) + del self[rev_1_1.id] + rev_1_2_id = rev_1_1.next_id + if rev_1_2_id is not None: + rev_1_2 = self[rev_1_2_id] + rev_1_2.prev_id = None + self.root_ids.add(rev_1_2.id) + + # Move any tags and branches from rev_1_1 to cvs_rev: + cvs_rev.tag_ids.extend(rev_1_1.tag_ids) + for id in rev_1_1.tag_ids: + cvs_tag = self[id] + cvs_tag.source_lod = cvs_rev.lod + cvs_tag.source_id = cvs_rev.id + cvs_rev.branch_ids[0:0] = rev_1_1.branch_ids + for id in rev_1_1.branch_ids: + cvs_branch = self[id] + cvs_branch.source_lod = cvs_rev.lod + cvs_branch.source_id = cvs_rev.id + cvs_rev.branch_commit_ids[0:0] = rev_1_1.branch_commit_ids + for id in rev_1_1.branch_commit_ids: + cvs_rev2 = self[id] + cvs_rev2.prev_id = cvs_rev.id def _is_unneeded_initial_trunk_delete(self, cvs_item, metadata_db): if not isinstance(cvs_item, CVSRevisionNoop): -- 2.11.4.GIT