~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/testrevisionnamespaces.py

add a clean target

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
import os
18
 
import time
19
18
from bzrlib.selftest import TestCaseInTempDir
20
19
from bzrlib.errors import NoCommonAncestor, NoCommits
21
 
from bzrlib.clone import copy_branch
 
20
from bzrlib.branch import copy_branch
22
21
from bzrlib.merge import merge
23
22
 
24
23
class TestRevisionNamespaces(TestCaseInTempDir):
25
 
 
26
24
    def test_revision_namespaces(self):
27
 
        """Test revision specifiers.
28
 
 
29
 
        These identify revisions by date, etc."""
 
25
        """Functional tests for hashcache"""
30
26
        from bzrlib.errors import NoSuchRevision
31
27
        from bzrlib.branch import Branch
32
 
        from bzrlib.revisionspec import RevisionSpec
33
 
 
34
 
        b = Branch.initialize('.')
35
 
 
36
 
        b.commit('Commit one', rev_id='a@r-0-1', timestamp=time.time() - 60*60*24)
 
28
 
 
29
        b = Branch('.', init=True)
 
30
 
 
31
        b.commit('Commit one', rev_id='a@r-0-1')
37
32
        b.commit('Commit two', rev_id='a@r-0-2')
38
33
        b.commit('Commit three', rev_id='a@r-0-3')
39
34
 
40
 
        self.assertEquals(RevisionSpec(None).in_history(b), (0, None))
41
 
        self.assertEquals(RevisionSpec(1).in_history(b), (1, 'a@r-0-1'))
42
 
        self.assertEquals(RevisionSpec('revno:1').in_history(b),
43
 
                          (1, 'a@r-0-1'))
44
 
        self.assertEquals(RevisionSpec('revid:a@r-0-1').in_history(b),
45
 
                          (1, 'a@r-0-1'))
46
 
        self.assertRaises(NoSuchRevision,
47
 
                          RevisionSpec('revid:a@r-0-0').in_history, b)
48
 
        self.assertRaises(TypeError, RevisionSpec, object)
49
 
 
50
 
        self.assertEquals(RevisionSpec('date:today').in_history(b),
51
 
                          (2, 'a@r-0-2'))
52
 
        self.assertEquals(RevisionSpec('date:yesterday').in_history(b),
53
 
                          (1, 'a@r-0-1'))
54
 
        self.assertEquals(RevisionSpec('before:date:today').in_history(b),
55
 
                          (1, 'a@r-0-1'))
56
 
 
57
 
        self.assertEquals(RevisionSpec('last:1').in_history(b),
58
 
                          (3, 'a@r-0-3'))
59
 
        self.assertEquals(RevisionSpec('-1').in_history(b), (3, 'a@r-0-3'))
60
 
#        self.assertEquals(b.get_revision_info('last:1'), (3, 'a@r-0-3'))
61
 
#        self.assertEquals(b.get_revision_info('-1'), (3, 'a@r-0-3'))
62
 
 
63
 
        self.assertEquals(RevisionSpec('ancestor:.').in_history(b).rev_id,
64
 
                          'a@r-0-3')
 
35
        self.assertEquals(b.get_revision_info(None), (0, None))
 
36
        self.assertEquals(b.get_revision_info(1), (1, 'a@r-0-1'))
 
37
        self.assertEquals(b.get_revision_info('revno:1'), (1, 'a@r-0-1'))
 
38
        self.assertEquals(b.get_revision_info('revid:a@r-0-1'), (1, 'a@r-0-1'))
 
39
        self.assertRaises(NoSuchRevision, b.get_revision_info, 'revid:a@r-0-0')
 
40
        self.assertRaises(TypeError, b.get_revision_info, object)
 
41
 
 
42
        self.assertEquals(b.get_revision_info('date:-tomorrow'), (3, 'a@r-0-3'))
 
43
        self.assertEquals(b.get_revision_info('date:+today'), (1, 'a@r-0-1'))
 
44
 
 
45
        self.assertEquals(b.get_revision_info('last:1'), (3, 'a@r-0-3'))
 
46
        self.assertEquals(b.get_revision_info('-1'), (3, 'a@r-0-3'))
65
47
 
66
48
        os.mkdir('newbranch')
67
 
        b2 = Branch.initialize('newbranch')
68
 
        self.assertRaises(NoCommits, RevisionSpec('ancestor:.').in_history, b2)
 
49
        b2 = Branch('newbranch', init=True)
 
50
        self.assertEquals(b2.lookup_revision('revid:a@r-0-1'), 'a@r-0-1')
69
51
 
 
52
        self.assertRaises(NoCommits, b2.lookup_revision, 'ancestor:.')
 
53
        self.assertEquals(b.lookup_revision('ancestor:.'), 'a@r-0-3')
70
54
        os.mkdir('copy')
71
55
        b3 = copy_branch(b, 'copy')
72
56
        b3.commit('Commit four', rev_id='b@r-0-4')
73
 
        self.assertEquals(RevisionSpec('ancestor:.').in_history(b3).rev_id,
74
 
                          'a@r-0-3')
 
57
        self.assertEquals(b3.lookup_revision('ancestor:.'), 'a@r-0-3')
75
58
        merge(['copy', -1], [None, None])
76
59
        b.commit('Commit five', rev_id='a@r-0-4')
77
 
        self.assertEquals(RevisionSpec('ancestor:copy').in_history(b).rev_id,
78
 
                          'b@r-0-4')
79
 
        self.assertEquals(RevisionSpec('ancestor:.').in_history(b3).rev_id,
80
 
                          'b@r-0-4')
 
60
        self.assertEquals(b.lookup_revision('ancestor:copy'), 'b@r-0-4')
 
61
        self.assertEquals(b3.lookup_revision('ancestor:.'), 'b@r-0-4')