)
)
- # Ensure we didn't throw everything away.
- if len(roots) == 0:
- raise RevisionError(
- "Not a valid downgrade target from current heads"
- )
+ # Ensure we didn't throw everything away when filtering branches.
+ if len(roots) == 0:
+ raise RevisionError(
+ "Not a valid downgrade target from current heads"
+ )
heads = self.get_revisions(upper)
self.a.revision, [self.a.revision], [], {self.a.revision}
)
+ def test_downgrade_to_existing_head(self):
+ self._assert_downgrade(
+ self.e.revision, [self.e.revision], [], {self.e.revision}
+ )
+
def test_upgrade_path(self):
self._assert_upgrade(
self.e.revision,
[self.c1.revision, self.c2.revision],
)
- def test_not_a_downgrade(self):
- assert_raises_message(
- util.CommandError,
- "Not a valid downgrade target from current heads",
- self.env._downgrade_revs,
- self.d2.revision,
- [self.d1.revision, self.d2.revision],
- )
-
def test_upgrade_from_base(self):
self._assert_upgrade(
"base+1", [], [self.up_(self.a)], set([self.a.revision])
[],
)
+ def test_downgrade_no_effect_branched(self):
+ """Added for good measure when there are multiple branches. """
+ self._assert_downgrade(
+ self.c2.revision,
+ [self.d1.revision, self.c2.revision],
+ [],
+ set([self.d1.revision, self.c2.revision]),
+ )
+ self._assert_downgrade(
+ self.d1.revision,
+ [self.d1.revision, self.c2.revision],
+ [],
+ set([self.d1.revision, self.c2.revision]),
+ )
+
class BranchFromMergepointTest(MigrationTest):