From 87280531beafc0c3dc1946513a9bc2593ed71fec Mon Sep 17 00:00:00 2001 From: mhagger Date: Sat, 12 Jun 2010 15:07:38 +0000 Subject: [PATCH] Determine revision properties during FilterSymbolsPass... ...instead of CollectRevsPass. Add a method CVSFileItems.determine_revision_properties() to do the work. Invoke this method from FilterSymbolsPass.run(). git-svn-id: http://cvs2svn.tigris.org/svn/cvs2svn/trunk@5167 be7e6eca-30d4-0310-a8e5-ac0d63af7087 --- cvs2svn_lib/collect_data.py | 7 ------- cvs2svn_lib/cvs_file_items.py | 10 ++++++++++ cvs2svn_lib/passes.py | 3 +++ 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/cvs2svn_lib/collect_data.py b/cvs2svn_lib/collect_data.py index 8260c166..f8ade599 100644 --- a/cvs2svn_lib/collect_data.py +++ b/cvs2svn_lib/collect_data.py @@ -1121,13 +1121,6 @@ class CollectData: cvs_file_items.check_link_consistency() - for cvs_item in cvs_file_items.values(): - if isinstance(cvs_item, CVSRevision): - cvs_rev = cvs_item - cvs_rev.properties = {} - for revision_property_setter in Ctx().revision_property_setters: - revision_property_setter.set_properties(cvs_rev) - self.add_cvs_file_items(cvs_file_items) self.symbol_stats.register(cvs_file_items) diff --git a/cvs2svn_lib/cvs_file_items.py b/cvs2svn_lib/cvs_file_items.py index 3acf8767..f0dbeff0 100644 --- a/cvs2svn_lib/cvs_file_items.py +++ b/cvs2svn_lib/cvs_file_items.py @@ -1067,6 +1067,16 @@ class CVSFileItems(object): isinstance(source, CVSRevisionModification) ] + def determine_revision_properties(self, revision_property_setters): + """Set the properties field for any CVSRevisions.""" + + for cvs_item in self.values(): + if isinstance(cvs_item, CVSRevision): + cvs_rev = cvs_item + cvs_rev.properties = {} + for revision_property_setter in revision_property_setters: + revision_property_setter.set_properties(cvs_rev) + def record_opened_symbols(self): """Set CVSRevision.opened_symbols for the surviving revisions.""" diff --git a/cvs2svn_lib/passes.py b/cvs2svn_lib/passes.py index 8381d5ed..b143b5eb 100644 --- a/cvs2svn_lib/passes.py +++ b/cvs2svn_lib/passes.py @@ -477,6 +477,9 @@ class FilterSymbolsPass(Pass): cvs_file_items.mutate_symbols() cvs_file_items.adjust_parents() cvs_file_items.refine_symbols() + cvs_file_items.determine_revision_properties( + Ctx().revision_property_setters + ) cvs_file_items.record_opened_symbols() cvs_file_items.record_closed_symbols() cvs_file_items.check_link_consistency() -- 2.11.4.GIT