187
187
bb = GitBranchBuilder()
188
188
bb.set_symlink("mylink", "target")
189
mark1 = bb.commit("Somebody <somebody@someorg.org>", "mymsg1")
189
mark1 = bb.commit(b"Somebody <somebody@someorg.org>", b"mymsg1")
190
190
bb.set_symlink("mylink", "target/")
191
mark2 = bb.commit("Somebody <somebody@someorg.org>", "mymsg2")
191
mark2 = bb.commit(b"Somebody <somebody@someorg.org>", b"mymsg2")
192
192
marks = bb.finish()
193
193
gitsha1 = marks[mark1]
194
194
gitsha2 = marks[mark2]
208
208
self.make_git_repo("d")
210
210
bb = GitBranchBuilder()
211
bb.set_file("foobar", "foo\nbar\n", True)
212
bb.set_file("notexec", "foo\nbar\n", False)
213
mark = bb.commit("Somebody <somebody@someorg.org>", "mymsg")
211
bb.set_file("foobar", b"foo\nbar\n", True)
212
bb.set_file("notexec", b"foo\nbar\n", False)
213
mark = bb.commit(b"Somebody <somebody@someorg.org>", b"mymsg")
214
214
gitsha = bb.finish()[mark]
216
216
oldrepo = self.open_git_repo("d")
226
226
self.make_git_repo("d")
228
228
bb = GitBranchBuilder()
229
bb.set_file("foobar", "foo\nbar\n", False)
230
mark1 = bb.commit("Somebody <somebody@someorg.org>", "mymsg")
231
bb.set_file("foobar", "foo\nbar\n", True)
232
mark2 = bb.commit("Somebody <somebody@someorg.org>", "mymsg")
229
bb.set_file("foobar", b"foo\nbar\n", False)
230
mark1 = bb.commit(b"Somebody <somebody@someorg.org>", b"mymsg")
231
bb.set_file("foobar", b"foo\nbar\n", True)
232
mark2 = bb.commit(b"Somebody <somebody@someorg.org>", b"mymsg")
233
233
gitsha2 = bb.finish()[mark2]
235
235
oldrepo = self.open_git_repo("d")
244
244
r = self.make_git_repo("d")
246
246
bb = GitBranchBuilder()
247
bb.set_file(u"foobar", "foo\n", False)
248
mark1 = bb.commit("Somebody <somebody@someorg.org>", "mymsg1")
247
bb.set_file(u"foobar", b"foo\n", False)
248
mark1 = bb.commit(b"Somebody <somebody@someorg.org>", b"mymsg1")
249
249
gitsha1 = bb.finish()[mark1]
251
251
stacked_on = self.clone_git_repo("d", "stacked-on")
261
261
bb = GitBranchBuilder()
262
262
bb.set_file(u"barbar", "bar\n", False)
263
263
bb.set_file(u"foo/blie/bla", "bla\n", False)
264
mark2 = bb.commit("Somebody <somebody@someorg.org>", "mymsg2")
264
mark2 = bb.commit(b"Somebody <somebody@someorg.org>", b"mymsg2")
265
265
gitsha2 = bb.finish()[mark2]
266
266
revid2 = oldrepo.get_mapping().revision_id_foreign_to_bzr(gitsha2)
279
279
self.make_git_repo("d")
281
281
bb = GitBranchBuilder()
282
bb.set_file(u"foőbar", "foo\nbar\n", False)
283
mark = bb.commit("Somebody <somebody@someorg.org>", "mymsg")
282
bb.set_file(u"foőbar", b"foo\nbar\n", False)
283
mark = bb.commit(b"Somebody <somebody@someorg.org>", b"mymsg")
284
284
gitsha = bb.finish()[mark]
286
286
oldrepo = self.open_git_repo("d")
293
293
r = self.make_git_repo("d")
295
295
bb = GitBranchBuilder()
296
bb.set_file("foobar", "fooll\nbar\n", False)
297
mark = bb.commit("Somebody <somebody@someorg.org>", "nextmsg")
296
bb.set_file("foobar", b"fooll\nbar\n", False)
297
mark = bb.commit(b"Somebody <somebody@someorg.org>", b"nextmsg")
298
298
marks = bb.finish()
299
299
gitsha = marks[mark]
301
tag.name = b"sometag"
302
302
tag.tag_time = int(time.time())
303
303
tag.tag_timezone = 0
304
tag.tagger = "Somebody <somebody@example.com>"
305
tag.message = "Created tag pointed at tree"
304
tag.tagger = b"Somebody <somebody@example.com>"
305
tag.message = b"Created tag pointed at tree"
306
306
tag.object = (Tree, r[gitsha].tree)
307
307
r.object_store.add_object(tag)
308
r["refs/tags/sometag"] = tag
308
r[b"refs/tags/sometag"] = tag
310
310
oldrepo = self.open_git_repo("d")
311
311
revid = oldrepo.get_mapping().revision_id_foreign_to_bzr(gitsha)
340
340
blob = Blob.from_string(b"bar")
341
341
base_inv = Inventory()
342
342
objs = { "blobname": blob}
343
ret = import_git_blob(self._texts, self._mapping, "bla", "bla",
343
ret = import_git_blob(self._texts, self._mapping, b"bla", b"bla",
344
344
(None, "blobname"),
345
base_inv, None, "somerevid", [], objs.__getitem__,
345
base_inv, None, b"somerevid", [], objs.__getitem__,
346
346
(None, DEFAULT_FILE_MODE), DummyStoreUpdater(),
347
347
self._mapping.generate_file_id)
348
348
self.assertEqual(set([(b'git:bla', b'somerevid')]), self._texts.keys())
349
self.assertEqual(self._texts.get_record_stream([(b'git:bla', b'somerevid')],
350
"unordered", True).next().get_bytes_as("fulltext"), "bar")
349
self.assertEqual(next(self._texts.get_record_stream([(b'git:bla', b'somerevid')],
350
"unordered", True)).get_bytes_as("fulltext"), "bar")
351
351
self.assertEqual(1, len(ret))
352
352
self.assertEqual(None, ret[0][0])
353
353
self.assertEqual("bla", ret[0][1])
360
360
def test_import_tree_empty_root(self):
361
361
base_inv = Inventory(root_id=None)
363
ret, child_modes = import_git_tree(self._texts, self._mapping, "", "",
363
ret, child_modes = import_git_tree(self._texts, self._mapping, b"", b"",
364
364
(None, tree.id), base_inv,
365
365
None, b"somerevid", [], {tree.id: tree}.__getitem__,
366
366
(None, stat.S_IFDIR), DummyStoreUpdater(),
380
380
def test_import_tree_empty(self):
381
381
base_inv = Inventory()
383
ret, child_modes = import_git_tree(self._texts, self._mapping, "bla", "bla",
383
ret, child_modes = import_git_tree(self._texts, self._mapping, b"bla", b"bla",
384
384
(None, tree.id), base_inv, None, b"somerevid", [],
385
385
{ tree.id: tree }.__getitem__,
386
386
(None, stat.S_IFDIR), DummyStoreUpdater(),
404
404
tree.add(b"foo", stat.S_IFREG | 0o644, blob.id)
405
405
objects = { blob.id: blob, tree.id: tree }
406
ret, child_modes = import_git_tree(self._texts, self._mapping, "bla", "bla",
406
ret, child_modes = import_git_tree(self._texts, self._mapping, b"bla", b"bla",
407
407
(None, tree.id), base_inv, None, b"somerevid", [],
408
408
objects.__getitem__, (None, stat.S_IFDIR), DummyStoreUpdater(),
409
409
self._mapping.generate_file_id)
429
429
tree.add(b"foo", stat.S_IFREG | 0o664, blob.id)
430
430
objects = { blob.id: blob, tree.id: tree }
431
431
ret, child_modes = import_git_tree(self._texts, self._mapping,
432
"bla", "bla", (None, tree.id), base_inv, None, b"somerevid", [],
432
b"bla", b"bla", (None, tree.id), base_inv, None, b"somerevid", [],
433
433
objects.__getitem__, (None, stat.S_IFDIR), DummyStoreUpdater(),
434
434
self._mapping.generate_file_id)
435
435
self.assertEqual(child_modes, { "bla/foo": stat.S_IFREG | 0o664 })
441
441
tree.add(b"foo", 0o100755, blob.id)
442
442
objects = { blob.id: blob, tree.id: tree }
443
ret, child_modes = import_git_tree(self._texts, self._mapping, "", "",
443
ret, child_modes = import_git_tree(self._texts, self._mapping, b"", b"",
444
444
(None, tree.id), base_inv, None, b"somerevid", [],
445
445
objects.__getitem__, (None, stat.S_IFDIR), DummyStoreUpdater(),
446
446
self._mapping.generate_file_id)
466
466
tree.add(b"bar", 0o160000, blob.id)
467
467
objects = { tree.id: tree }
468
ret, child_modes = import_git_submodule(self._texts, self._mapping, "foo", "foo",
468
ret, child_modes = import_git_submodule(self._texts, self._mapping, b"foo", b"foo",
469
469
(tree.id, othertree.id), base_inv, base_inv.root.file_id, b"somerevid", [],
470
470
objects.__getitem__, (stat.S_IFDIR | 0o755, S_IFGITLINK), DummyStoreUpdater(),
471
471
self._mapping.generate_file_id)
472
472
self.assertEqual(child_modes, {})
473
473
self.assertEqual(2, len(ret))
474
474
self.assertEqual(ret[0], ("foo/bar", None, base_inv.path2id("foo/bar"), None))
475
self.assertEqual(ret[1][:3], ("foo", "foo", self._mapping.generate_file_id("foo")))
475
self.assertEqual(ret[1][:3], ("foo", b"foo", self._mapping.generate_file_id("foo")))
477
477
self.assertEqual(ie.kind, "tree-reference")