From ec7afc5cbfba48bdd2f279ba25a7ebdfd0dcef78 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sat, 15 Nov 2014 23:35:40 -0500 Subject: cleanup --- alembic/revision.py | 26 +++++++++----------------- tests/test_revision.py | 17 +++++++++++++++++ 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/alembic/revision.py b/alembic/revision.py index b079927..885b53b 100644 --- a/alembic/revision.py +++ b/alembic/revision.py @@ -423,21 +423,15 @@ class RevisionMap(object): limit_to_lower_branch = \ isinstance(lower, compat.string_types) and '@' in lower - # TODO: rework the conditionals here to be easier - # to follow - if not limit_to_lower_branch or not requested_lowers: - if not requested_lowers and limit_to_lower_branch: - base_lowers = self.get_revisions( - self._get_base_revisions(lower)) - lowers = base_lowers - elif implicit_base or not requested_lowers: - base_lowers = set(self.get_revisions(self.bases)) - base_lowers.difference_update( - self._get_ancestor_nodes(requested_lowers)) - lowers = base_lowers.union(requested_lowers) - else: - base_lowers = set() - lowers = requested_lowers + if limit_to_lower_branch: + base_lowers = self.get_revisions( + self._get_base_revisions(lower)) + lowers = base_lowers + elif implicit_base or not requested_lowers: + base_lowers = set(self.get_revisions(self.bases)) + base_lowers.difference_update( + self._get_ancestor_nodes(requested_lowers)) + lowers = base_lowers.union(requested_lowers) else: base_lowers = set() lowers = requested_lowers @@ -487,8 +481,6 @@ class RevisionMap(object): if not inclusive and rev in requested_lowers: continue - #if rev in base_lowers - #if inclusive or rev not in lowers: yield rev diff --git a/tests/test_revision.py b/tests/test_revision.py index 6dde218..53fb730 100644 --- a/tests/test_revision.py +++ b/tests/test_revision.py @@ -155,6 +155,17 @@ class NamedBranchTest(DownIterateTest): ['c', 'somelongername', 'b', 'a'] ) + def test_iterate_named_head_to_base(self): + self._assert_iteration( + "ebranch@head", "base", + ['f', 'someothername', 'e', 'd'] + ) + + self._assert_iteration( + "abranch@head", "base", + ['c', 'somelongername', 'b', 'a'] + ) + def test_iterate_head_to_version_specific_base(self): self._assert_iteration( "heads", "e@base", @@ -166,6 +177,12 @@ class NamedBranchTest(DownIterateTest): ['c', 'somelongername', 'b', 'a'] ) + def test_iterate_to_branch_at_rev(self): + self._assert_iteration( + "heads", "ebranch@d", + ['f', 'someothername', 'e', 'd'] + ) + def test_partial_id_resolve(self): eq_(self.map.get_revision("ebranch@some").revision, "someothername") eq_(self.map.get_revision("abranch@some").revision, "somelongername") -- cgit v1.2.1