16
16
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
18
from bzrlib.selftest import TestCaseInTempDir
19
from bzrlib.selftest.blackbox import has_symlinks
21
22
except ImportError:
49
50
self._archiveroot = os.path.join(self._tmpdir, 'archive')
51
52
self._archive = pybaz.make_archive('demo@DONOTUSE', str(self._archiveroot))
52
os.mkdir(os.path.join(self._tmpdir, 'tree'))
53
53
pybaz.set_my_id("Test User<test@example.org>")
55
tree = pybaz.init_tree(os.path.join(self._tmpdir, 'tree'), 'demo@DONOTUSE/c--import--0')
56
msg = tree.log_message()
57
msg["summary"] = "I am importing now"
59
shutil.rmtree(os.path.join(self._tmpdir, 'tree'))
55
self.make_empty_import()
61
57
self._empty_tag = 'demo@DONOTUSE/c--empty-tag--0'
62
58
self._empty_tag_bzr = revision_id(self._empty_tag + '--base-0')
92
88
msg = tree.log_message()
93
89
msg["summary"] = "merge in a merged tree."
91
shutil.rmtree(os.path.join(self._tmpdir, 'tree'))
93
self.make_import_symlink()
95
def make_import_symlink(self):
96
self._import_symlink = 'demo@DONOTUSE/c--import-symlink--0'
97
self._import_symlink_bzr = revision_id(self._import_symlink + '--base-0')
98
os.mkdir(os.path.join(self._tmpdir, 'tree'))
99
tree = pybaz.init_tree(os.path.join(self._tmpdir, 'tree'),
100
self._import_symlink)
101
os.symlink('missing-file-name',
102
os.path.join(self._tmpdir, 'tree', 'alink'))
103
tree.add_tag('alink')
104
id_file = open(os.path.join(tree, '.arch-ids', 'alink.id'), 'w')
105
id_file.write('symlink_tag\n')
107
msg = tree.log_message()
108
msg["summary"] = "Import with a symlink"
110
shutil.rmtree(os.path.join(self._tmpdir, 'tree'))
112
def make_empty_import(self):
113
self._import = 'demo@DONOTUSE/c--import--0'
114
os.mkdir(os.path.join(self._tmpdir, 'tree'))
115
tree = pybaz.init_tree(os.path.join(self._tmpdir, 'tree'), self._import)
116
msg = tree.log_message()
117
msg["summary"] = "I am importing now"
119
shutil.rmtree(os.path.join(self._tmpdir, 'tree'))
97
122
def _makeResource(self):
115
140
TestCaseInTempDir.tearDown(self)
117
142
def test_import_empty(self):
118
import_version('output', pybaz.Version('demo@DONOTUSE/c--import--0'))
143
import_version('output', pybaz.Version(self._baz._import))
119
144
# expected results:
120
145
# one commit, no files, revision identifier of 'demo@DONOTUSE_c--import--0--base-0'
121
146
branch = find_branch('output', find_root=False)
261
286
# this tree should have nothing missing from that tree.
262
287
# FIXME there is no code for this right now.
263
288
# self.assertEqual(branch.missing_revisions(branch3), [])
290
def test_import_symlink(self):
291
import_version('output', pybaz.Version(self._baz._import_symlink))
293
# one commit, no files, revision identifier of 'demo@DONOTUSE_c--import--0--base-0'
294
branch = find_branch('output', find_root=False)
295
self.assertEqual(branch.revision_history(),
296
[self._baz._import_symlink_bzr])
297
rev = branch.get_revision(self._baz._import_symlink_bzr)
299
import_version('output2', pybaz.Version(self._baz._import_symlink))
300
branch2 = find_branch('output2', find_root=False)
301
self.assertEqual(branch.revision_history(), branch2.revision_history())
302
rev2 = branch2.get_revision(self._baz._import_symlink_bzr)
303
# they must be the same
304
self.assertEqual(rev, rev2)
306
# and we should get some expected values:
307
self.assertEqual(rev.committer, "Test User<test@example.org>")
308
self.assertEqual(rev.message, "Import with a symlink")
309
self.assertEqual(rev.revision_id, self._baz._import_symlink_bzr)
311
# and we want the symlink alink with target 'missing-file-name'
312
inv = branch.get_inventory(rev.inventory_id)
313
self.assertEqual(inv.path2id('alink'), 'x_symlink_tag')
314
entry = inv['x_symlink_tag']
315
self.assertEqual(entry.kind, 'symlink')
316
self.assertEqual(entry.symlink_target, 'missing-file-name')