136
136
tree1 = newrepo.revision_tree(revid1)
137
137
tree2 = newrepo.revision_tree(revid2)
138
138
fileid = tree1.path2id("mylink")
139
ie1 = tree1.inventory[fileid]
140
ie2 = tree2.inventory[fileid]
141
self.assertEquals(revid1, ie1.revision)
142
self.assertEquals("directory", ie1.kind)
143
self.assertEquals(None, ie1.symlink_target)
144
self.assertEquals(revid2, ie2.revision)
145
self.assertEquals("symlink", ie2.kind)
146
self.assertEquals("target/", ie2.symlink_target)
139
self.assertEquals(revid1, tree1.get_file_revision(fileid))
140
self.assertEquals("directory", tree1.kind(fileid))
141
self.assertEquals(None, tree1.get_symlink_target(fileid))
142
self.assertEquals(revid2, tree2.get_file_revision(fileid))
143
self.assertEquals("symlink", tree2.kind(fileid))
144
self.assertEquals("target/", tree2.get_symlink_target(fileid))
148
146
def test_symlink_becomes_dir(self):
149
147
self.make_git_repo("d")
164
162
tree1 = newrepo.revision_tree(revid1)
165
163
tree2 = newrepo.revision_tree(revid2)
166
164
fileid = tree1.path2id("mylink")
167
ie1 = tree1.inventory[fileid]
168
ie2 = tree2.inventory[fileid]
169
self.assertEquals(revid1, ie1.revision)
170
self.assertEquals("symlink", ie1.kind)
171
self.assertEquals("target/", ie1.symlink_target)
172
self.assertEquals(revid2, ie2.revision)
173
self.assertEquals("directory", ie2.kind)
174
self.assertEquals(None, ie2.symlink_target)
165
self.assertEquals(revid1, tree1.get_file_revision(fileid))
166
self.assertEquals("symlink", tree1.kind(fileid))
167
self.assertEquals("target/", tree1.get_symlink_target(fileid))
168
self.assertEquals(revid2, tree2.get_file_revision(fileid))
169
self.assertEquals("directory", tree2.kind(fileid))
170
self.assertEquals(None, tree2.get_symlink_target(fileid))
176
172
def test_changing_symlink(self):
177
173
self.make_git_repo("d")
192
188
tree1 = newrepo.revision_tree(revid1)
193
189
tree2 = newrepo.revision_tree(revid2)
194
190
fileid = tree1.path2id("mylink")
195
ie1 = tree1.inventory[fileid]
196
ie2 = tree2.inventory[fileid]
197
self.assertEquals(revid1, ie1.revision)
198
self.assertEquals("target", ie1.symlink_target)
199
self.assertEquals(revid2, ie2.revision)
200
self.assertEquals("target/", ie2.symlink_target)
191
self.assertEquals(revid1, tree1.get_file_revision(fileid))
192
self.assertEquals("target", tree1.get_symlink_target(fileid))
193
self.assertEquals(revid2, tree2.get_file_revision(fileid))
194
self.assertEquals("target/", tree2.get_symlink_target(fileid))
202
196
def test_executable(self):
203
197
self.make_git_repo("d")
213
207
revid = oldrepo.get_mapping().revision_id_foreign_to_bzr(gitsha)
214
208
tree = newrepo.revision_tree(revid)
215
209
self.assertTrue(tree.has_filename("foobar"))
216
self.assertEquals(True, tree.inventory[tree.path2id("foobar")].executable)
210
self.assertEquals(True, tree.is_executable(tree.path2id("foobar")))
217
211
self.assertTrue(tree.has_filename("notexec"))
218
self.assertEquals(False, tree.inventory[tree.path2id("notexec")].executable)
212
self.assertEquals(False, tree.is_executable(tree.path2id("notexec")))
220
214
def test_becomes_executable(self):
221
215
self.make_git_repo("d")
232
226
revid = oldrepo.get_mapping().revision_id_foreign_to_bzr(gitsha2)
233
227
tree = newrepo.revision_tree(revid)
234
228
self.assertTrue(tree.has_filename("foobar"))
235
ie = tree.inventory[tree.path2id("foobar")]
236
self.assertEquals(True, ie.executable)
237
self.assertEquals(revid, ie.revision)
229
fileid = tree.path2id("foobar")
230
self.assertEquals(True, tree.is_executable(fileid))
231
self.assertEquals(revid, tree.get_file_revision(fileid))
239
233
def test_non_ascii_characters(self):
240
234
self.make_git_repo("d")