def test_get_revision_before_date_time_stays_on_branch(self):
        hgrepo = MercurialRepository(self.directory, init=True)
        dates = ('2011-01-01 01:01:01', '2011-03-03 03:03:03')
        self.create_test_changesets(hgrepo, 2, dates=dates)

        hgrepo.create_and_switch_to_branch('avoidbranch')
        self.create_test_changesets(hgrepo, 1, dates=('2011-02-02 02:02:02',))

        commands.update(hgrepo.get_ui(), hgrepo.get_repo(), rev='default')

        #should match commit on 2011-01-01, not 2011-02-02
        eq_('f957b16de26a4879c255762cee97797a64e28f28', hgrepo.get_revision_before_date(datetime(2011, 2, 2, 4, 4, 4)))
 def test_get_revision_before_date_time(self):
     hgrepo = MercurialRepository(self.directory, init=True)
     dates = ('2011-01-01 01:01:01', '2011-02-02 02:02:02', '2011-03-03 03:03:03')
     self.create_test_changesets(hgrepo, 3, dates=dates)
     eq_('9699b017dc594de1d07ebc994e63aeddf31da8b8', hgrepo.get_revision_before_date(datetime(2011, 2, 2, 4, 4, 4)))
 def test_repo_avoids_commit_with_date_before_its_parent(self):
     hgrepo = MercurialRepository(self.directory, init=True)
     dates = ('2011-04-01 04:04:04', '2011-05-01 05:05:05', '2011-04-15 04:04:04')
     self.create_test_changesets(hgrepo, 3, dates=dates)
     eq_('e38050495d876318cccb1cde5fb5e0166a5c4c46', hgrepo.get_revision_before_date(datetime(2011, 4, 18, 4, 4, 4)))