/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to tests/test_fetch.py

Add more fetch tests.

Show diffs side-by-side

added added

removed removed

Lines of Context:
82
82
        run_git("init")
83
83
        os.chdir("..")
84
84
 
85
 
    def clone_git_repo(self, from_url, to_url):
86
 
        oldrepos = Repository.open(from_url)
 
85
    def clone_git_repo(self, from_url, to_url, revision_id=None):
 
86
        oldrepos = self.open_git_repo(from_url)
87
87
        dir = BzrDir.create(to_url, get_rich_root_format())
88
88
        newrepos = dir.create_repository()
89
 
        oldrepos.copy_content_into(newrepos)
 
89
        oldrepos.copy_content_into(newrepos, revision_id=revision_id)
90
90
        return newrepos
91
91
 
 
92
    def open_git_repo(self, path):
 
93
        return Repository.open(path)
 
94
 
92
95
    def test_empty(self):
93
96
        self.make_git_repo("d")
94
97
        newrepos = self.clone_git_repo("d", "f")
95
98
        self.assertEquals([], newrepos.all_revision_ids())
96
99
 
 
100
    def make_onerev_branch(self):
 
101
        self.make_git_repo("d")
 
102
        os.chdir("d")
 
103
        bb = GitBranchBuilder()
 
104
        bb.set_file("foobar", "foo\nbar\n", False)
 
105
        mark = bb.commit("Somebody <somebody@someorg.org>", "mymsg")
 
106
        gitsha = bb.finish()[mark]
 
107
        os.chdir("..")
 
108
        return "d", gitsha
 
109
 
97
110
    def test_single_rev(self):
98
 
        self.make_git_repo("d")
99
 
        os.chdir("d")
100
 
        bb = GitBranchBuilder()
101
 
        bb.set_file("foobar", "foo\nbar\n", False)
102
 
        mark = bb.commit("Somebody <somebody@someorg.org>", "mymsg")
103
 
        gitsha = bb.finish()[mark]
104
 
        os.chdir("..")
105
 
        oldrepo = Repository.open("d")
106
 
        newrepo = self.clone_git_repo("d", "f")
 
111
        path, gitsha = self.make_onerev_branch()
 
112
        oldrepo = self.open_git_repo(path)
 
113
        newrepo = self.clone_git_repo(path, "f")
107
114
        self.assertEquals([oldrepo.get_mapping().revision_id_foreign_to_bzr(gitsha)], newrepo.all_revision_ids())
108
115
 
 
116
    def test_single_rev_specific(self):
 
117
        path, gitsha = self.make_onerev_branch()
 
118
        oldrepo = self.open_git_repo(path)
 
119
        revid = oldrepo.get_mapping().revision_id_foreign_to_bzr(gitsha)
 
120
        newrepo = self.clone_git_repo(path, "f", revision_id=revid)
 
121
        self.assertEquals([revid], newrepo.all_revision_ids())
 
122
 
 
123
    def test_incremental(self):
 
124
        self.make_git_repo("d")
 
125
        os.chdir("d")
 
126
        bb = GitBranchBuilder()
 
127
        bb.set_file("foobar", "foo\nbar\n", False)
 
128
        mark1 = bb.commit("Somebody <somebody@someorg.org>", "mymsg")
 
129
        bb.set_file("foobar", "fooll\nbar\n", False)
 
130
        mark2 = bb.commit("Somebody <somebody@someorg.org>", "nextmsg")
 
131
        marks = bb.finish()
 
132
        gitsha1 = marks[mark1]
 
133
        gitsha2 = marks[mark2]
 
134
        os.chdir("..")
 
135
        oldrepo = self.open_git_repo("d")
 
136
        revid1 = oldrepo.get_mapping().revision_id_foreign_to_bzr(gitsha1)
 
137
        newrepo = self.clone_git_repo("d", "f", revision_id=revid1)
 
138
        self.assertEquals([revid1], newrepo.all_revision_ids())
 
139
        revid2 = oldrepo.get_mapping().revision_id_foreign_to_bzr(gitsha2)
 
140
        newrepo.fetch(oldrepo, revision_id=revid2)
 
141
        self.assertEquals([revid1, revid2], newrepo.all_revision_ids())
 
142
 
109
143
    def test_executable(self):
110
144
        self.make_git_repo("d")
111
145
        os.chdir("d")
115
149
        mark = bb.commit("Somebody <somebody@someorg.org>", "mymsg")
116
150
        gitsha = bb.finish()[mark]
117
151
        os.chdir("..")
118
 
        oldrepo = Repository.open("d")
 
152
        oldrepo = self.open_git_repo("d")
119
153
        newrepo = self.clone_git_repo("d", "f")
120
154
        revid = oldrepo.get_mapping().revision_id_foreign_to_bzr(gitsha)
121
155
        tree = newrepo.revision_tree(revid)
210
244
        ie = inv["bla/foo"]
211
245
        self.assertEquals("file", ie.kind)
212
246
        self.assertEquals(True, ie.executable)
213