/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 bzrlib/tests/test_transform.py

  • Committer: Robert Collins
  • Date: 2008-09-02 00:01:34 UTC
  • mfrom: (3671 +trunk)
  • mto: This revision was merged to the branch mainline in revision 3724.
  • Revision ID: robertc@robertcollins.net-20080902000134-qz8r6v1mltygeg6t
Merge bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1219
1219
        wt = self.make_branch_and_tree('.')
1220
1220
        self.build_tree(['foo'])
1221
1221
        wt.add(['foo'])
 
1222
        wt.commit("one")
1222
1223
        tt = TreeTransform(wt)
1223
1224
        self.addCleanup(tt.finalize)
1224
1225
        foo_trans_id = tt.trans_id_tree_path("foo")
1229
1230
        tt.version_file("bar-1", bar_trans_id)
1230
1231
        tt.apply()
1231
1232
        self.failUnlessExists("foo/bar")
 
1233
        wt.lock_read()
 
1234
        try:
 
1235
            self.assertEqual(wt.inventory.get_file_kind(wt.path2id("foo")),
 
1236
                    "directory")
 
1237
        finally:
 
1238
            wt.unlock()
 
1239
        wt.commit("two")
 
1240
        changes = wt.changes_from(wt.basis_tree())
 
1241
        self.assertFalse(changes.has_changed(), changes)
 
1242
 
 
1243
    def test_file_to_symlink(self):
 
1244
        self.requireFeature(SymlinkFeature)
 
1245
        wt = self.make_branch_and_tree('.')
 
1246
        self.build_tree(['foo'])
 
1247
        wt.add(['foo'])
 
1248
        wt.commit("one")
 
1249
        tt = TreeTransform(wt)
 
1250
        self.addCleanup(tt.finalize)
 
1251
        foo_trans_id = tt.trans_id_tree_path("foo")
 
1252
        tt.delete_contents(foo_trans_id)
 
1253
        tt.create_symlink("bar", foo_trans_id)
 
1254
        tt.apply()
 
1255
        self.failUnlessExists("foo")
 
1256
        wt.lock_read()
 
1257
        self.addCleanup(wt.unlock)
 
1258
        self.assertEqual(wt.inventory.get_file_kind(wt.path2id("foo")),
 
1259
                "symlink")
 
1260
 
 
1261
    def test_dir_to_file(self):
 
1262
        wt = self.make_branch_and_tree('.')
 
1263
        self.build_tree(['foo/', 'foo/bar'])
 
1264
        wt.add(['foo', 'foo/bar'])
 
1265
        wt.commit("one")
 
1266
        tt = TreeTransform(wt)
 
1267
        self.addCleanup(tt.finalize)
 
1268
        foo_trans_id = tt.trans_id_tree_path("foo")
 
1269
        bar_trans_id = tt.trans_id_tree_path("foo/bar")
 
1270
        tt.delete_contents(foo_trans_id)
 
1271
        tt.delete_versioned(bar_trans_id)
 
1272
        tt.create_file(["aa\n"], foo_trans_id)
 
1273
        tt.apply()
 
1274
        self.failUnlessExists("foo")
 
1275
        wt.lock_read()
 
1276
        self.addCleanup(wt.unlock)
 
1277
        self.assertEqual(wt.inventory.get_file_kind(wt.path2id("foo")),
 
1278
                "file")
 
1279
 
 
1280
    def test_dir_to_hardlink(self):
 
1281
        self.requireFeature(HardlinkFeature)
 
1282
        wt = self.make_branch_and_tree('.')
 
1283
        self.build_tree(['foo/', 'foo/bar'])
 
1284
        wt.add(['foo', 'foo/bar'])
 
1285
        wt.commit("one")
 
1286
        tt = TreeTransform(wt)
 
1287
        self.addCleanup(tt.finalize)
 
1288
        foo_trans_id = tt.trans_id_tree_path("foo")
 
1289
        bar_trans_id = tt.trans_id_tree_path("foo/bar")
 
1290
        tt.delete_contents(foo_trans_id)
 
1291
        tt.delete_versioned(bar_trans_id)
 
1292
        self.build_tree(['baz'])
 
1293
        tt.create_hardlink("baz", foo_trans_id)
 
1294
        tt.apply()
 
1295
        self.failUnlessExists("foo")
 
1296
        self.failUnlessExists("baz")
 
1297
        wt.lock_read()
 
1298
        self.addCleanup(wt.unlock)
 
1299
        self.assertEqual(wt.inventory.get_file_kind(wt.path2id("foo")),
 
1300
                "file")
 
1301
 
 
1302
    def test_no_final_path(self):
 
1303
        transform, root = self.get_transform()
 
1304
        trans_id = transform.trans_id_file_id('foo')
 
1305
        transform.create_file('bar', trans_id)
 
1306
        transform.cancel_creation(trans_id)
 
1307
        transform.apply()
1232
1308
 
1233
1309
 
1234
1310
class TransformGroup(object):
2366
2442
            ('new-a', 'e\n'),
2367
2443
            ('new-b', 'f\n'),
2368
2444
        ], list(tree_a.plan_file_merge('file-id', tree_b)))
 
2445
 
 
2446
    def test_walkdirs(self):
 
2447
        preview = self.get_empty_preview()
 
2448
        preview.version_file('tree-root', preview.root)
 
2449
        preview_tree = preview.get_preview_tree()
 
2450
        file_trans_id = preview.new_file('a', preview.root, 'contents',
 
2451
                                         'a-id')
 
2452
        expected = [(('', 'tree-root'),
 
2453
                    [('a', 'a', 'file', None, 'a-id', 'file')])]
 
2454
        self.assertEqual(expected, list(preview_tree.walkdirs()))