Exemplo n.º 1
0
 def test_get_revision_base_single(self):
     map_ = RevisionMap(lambda: [
         Revision('a', ()),
         Revision('b', ('a', )),
         Revision('c', ('b', )),
     ])
     eq_(map_.get_revision('base'), None)
Exemplo n.º 2
0
 def test_get_revision_head_single(self):
     map_ = RevisionMap(lambda: [
         Revision('a', ()),
         Revision('b', ('a', )),
         Revision('c', ('b', )),
     ])
     eq_(map_.get_revision('head'), map_._revision_map['c'])
Exemplo n.º 3
0
 def setUp(self):
     self.map = RevisionMap(lambda: [
         Revision('a', ()),
         Revision('b1', ('a', )),
         Revision('b2', ('a', )),
         Revision('c', ('b1', 'b2')),
         Revision('d', ('c', )),
     ])
Exemplo n.º 4
0
 def test_get_revision_heads_multiple(self):
     map_ = RevisionMap(lambda: [
         Revision('a', ()),
         Revision('b', ('a', )),
         Revision('c1', ('b', )),
         Revision('c2', ('b', )),
     ])
     assert_raises_message(MultipleHeads, "Multiple heads are present",
                           map_.get_revision, "heads")
Exemplo n.º 5
0
    def test_add_revision_one_head(self):
        map_ = RevisionMap(lambda: [
            Revision('a', ()),
            Revision('b', ('a', )),
            Revision('c', ('b', )),
        ])
        eq_(map_.heads, ('c', ))

        map_.add_revision(Revision('d', ('c', )))
        eq_(map_.heads, ('d', ))
Exemplo n.º 6
0
    def test_add_revision_two_head(self):
        map_ = RevisionMap(lambda: [
            Revision('a', ()),
            Revision('b', ('a', )),
            Revision('c1', ('b', )),
            Revision('c2', ('b', )),
        ])
        eq_(map_.heads, ('c1', 'c2'))

        map_.add_revision(Revision('d1', ('c1', )))
        eq_(map_.heads, ('c2', 'd1'))
Exemplo n.º 7
0
 def test_filter_for_lineage_labeled_head_across_merge(self):
     fn = lambda: [
         Revision('a', ()),
         Revision('b', ('a', )),
         Revision('c1', ('b', ), branch_labels='c1branch'),
         Revision('c2', ('b', )),
         Revision('d', ('c1', 'c2')),
     ]
     map_ = RevisionMap(fn)
     c1 = map_.get_revision('c1')
     c2 = map_.get_revision('c2')
     d = map_.get_revision('d')
     eq_(map_.filter_for_lineage([c1, c2, d], "c1branch@head"), [c1, c2, d])
Exemplo n.º 8
0
 def setUp(self):
     self.map = RevisionMap(lambda: [
         Revision('a', (), branch_labels='abranch'),
         Revision('b', ('a', )),
         Revision('somelongername', ('b', )),
         Revision('c', ('somelongername', )),
         Revision('d', ()),
         Revision('e', ('d', ), branch_labels=['ebranch']),
         Revision('someothername', ('e', )),
         Revision('f', ('someothername', )),
     ])
Exemplo n.º 9
0
 def test_dupe_branch_collection(self):
     fn = lambda: [
         Revision('a', ()),
         Revision('b', ('a', )),
         Revision('c', ('b', ), branch_labels=['xy1']),
         Revision('d', ()),
         Revision('e', ('d', ), branch_labels=['xy1']),
         Revision('f', ('e', ))
     ]
     assert_raises_message(
         RevisionError, r"Branch name 'xy1' in revision (?:e|c) already "
         "used by revision (?:e|c)", getattr, RevisionMap(fn),
         "_revision_map")
Exemplo n.º 10
0
 def setUp(self):
     self.map = RevisionMap(lambda: [
         Revision('base1', (), branch_labels='b_1'),
         Revision('a1', 'base1'),
         Revision('b1', 'a1'),
         Revision('c1', 'b1'),
         Revision('base2', (), dependencies='base1', branch_labels='b_2'),
         Revision('a2', 'base2'),
         Revision('b2', 'a2'),
         Revision('c2', 'b2'),
         Revision('d2', 'c2'),
         Revision('base3', (), branch_labels='b_3'),
         Revision('a3', 'base3'),
         Revision('b3', 'a3'),
         Revision('c3', 'b3', dependencies='b2'),
         Revision('d3', 'c3'),
     ])
Exemplo n.º 11
0
 def setUp(self):
     self.map = RevisionMap(lambda: [
         Revision('base1', ()),
         Revision('base2', ()),
         Revision('base3', ()),
         Revision('a1a', ('base1', )),
         Revision('a1b', ('base1', )),
         Revision('a2', ('base2', )),
         Revision('a3', ('base3', )),
         Revision('b1a', ('a1a', )),
         Revision('b1b', ('a1b', )),
         Revision('b2', ('a2', )),
         Revision('b3', ('a3', )),
         Revision('c2', ('b2', )),
         Revision('d2', ('c2', )),
         Revision('mergeb3d2', ('b3', 'd2'))
     ])
Exemplo n.º 12
0
 def setUp(self):
     self.map = RevisionMap(lambda: [
         Revision('a1', ()),
         Revision('a2', ('a1', )),
         Revision('a3', ('a2', )),
         Revision('b1', ('a3', )),
         Revision('b2', ('a3', )),
         Revision('cb1', ('b1', )),
         Revision('cb2', ('b2', )),
         Revision('db1', ('cb1', )),
         Revision('db2', ('cb2', )),
         Revision('e1b1', ('db1', )),
         Revision('fe1b1', ('e1b1', )),
         Revision('e2b1', ('db1', )),
         Revision('e2b2', ('db2', )),
         Revision("merge", ('e2b1', 'e2b2'))
     ])
Exemplo n.º 13
0
 def setUp(self):
     self.map = RevisionMap(lambda: [
         Revision('a', ()),
         Revision('b1', ('a', )),
         Revision('b2', ('a', )),
         Revision('cb1', ('b1', )),
         Revision('cb2', ('b2', )),
         Revision('d1cb1', ('cb1', )),  # head
         Revision('d2cb1', ('cb1', )),  # head
         Revision('d1cb2', ('cb2', )),
         Revision('d2cb2', ('cb2', )),
         Revision('d3cb2', ('cb2', )),  # head
         Revision('d1d2cb2', ('d1cb2', 'd2cb2'))  # head + merge point
     ])