コード例 #1
0
ファイル: test_workingtree.py プロジェクト: c0ns0le/cygwin
 def test__write_inventory(self):
     # The private interface _write_inventory is currently used by transform.
     tree = self.make_branch_and_tree('.')
     # if we write write an inventory then do a walkdirs we should get back
     # missing entries, and actual, and unknowns as appropriate.
     self.build_tree(['present', 'unknown'])
     inventory = Inventory(tree.get_root_id())
     inventory.add_path('missing', 'file', 'missing-id')
     inventory.add_path('present', 'file', 'present-id')
     # there is no point in being able to write an inventory to an unlocked
     # tree object - its a low level api not a convenience api.
     tree.lock_write()
     tree._write_inventory(inventory)
     tree.unlock()
     tree.lock_read()
     try:
         present_stat = os.lstat('present')
         unknown_stat = os.lstat('unknown')
         expected_results = [
             (('', tree.get_root_id()),
              [('missing', 'missing', 'unknown', None, 'missing-id', 'file'),
               ('present', 'present', 'file', present_stat, 'present-id', 'file'),
               ('unknown', 'unknown', 'file', unknown_stat, None, None),
              ]
             )]
         self.assertEqual(expected_results, list(tree.walkdirs()))
     finally:
         tree.unlock()
コード例 #2
0
 def test__write_inventory(self):
     # The private interface _write_inventory is currently used by transform.
     tree = self.make_branch_and_tree('.')
     # if we write write an inventory then do a walkdirs we should get back
     # missing entries, and actual, and unknowns as appropriate.
     self.build_tree(['present', 'unknown'])
     inventory = Inventory(tree.get_root_id())
     inventory.add_path('missing', 'file', 'missing-id')
     inventory.add_path('present', 'file', 'present-id')
     # there is no point in being able to write an inventory to an unlocked
     # tree object - its a low level api not a convenience api.
     tree.lock_write()
     tree._write_inventory(inventory)
     tree.unlock()
     tree.lock_read()
     try:
         present_stat = os.lstat('present')
         unknown_stat = os.lstat('unknown')
         expected_results = [(('', tree.get_root_id()), [
             ('missing', 'missing', 'unknown', None, 'missing-id', 'file'),
             ('present', 'present', 'file', present_stat, 'present-id',
              'file'),
             ('unknown', 'unknown', 'file', unknown_stat, None, None),
         ])]
         self.assertEqual(expected_results, list(tree.walkdirs()))
     finally:
         tree.unlock()
コード例 #3
0
 def test_text_from_ghost_revision(self):
     repo = self.make_repository('text-from-ghost')
     inv = Inventory(revision_id='final-revid')
     inv.root.revision = 'root-revid'
     ie = inv.add_path('bla', 'file', 'myfileid')
     ie.revision = 'ghostrevid'
     ie.text_size = 42
     ie.text_sha1 = "bee68c8acd989f5f1765b4660695275948bf5c00"
     rev = bzrlib.revision.Revision(timestamp=0,
                                    timezone=None,
                                    committer="Foo Bar <*****@*****.**>",
                                    message="Message",
                                    revision_id='final-revid')
     repo.lock_write()
     try:
         repo.start_write_group()
         try:
             repo.add_revision('final-revid', rev, inv)
             try:
                 repo.texts.add_lines(('myfileid', 'ghostrevid'),
                                      (('myfileid', 'ghost-text-parent'), ),
                                      ["line1\n", "line2\n"])
             except errors.RevisionNotPresent:
                 raise TestSkipped("text ghost parents not supported")
             if repo.supports_rich_root():
                 root_id = inv.root.file_id
                 repo.texts.add_lines((inv.root.file_id, inv.root.revision),
                                      [], [])
         finally:
             repo.commit_write_group()
     finally:
         repo.unlock()
     repo.reconcile(thorough=True)
コード例 #4
0
ファイル: test_reconcile.py プロジェクト: Distrotech/bzr
 def test_text_from_ghost_revision(self):
     repo = self.make_repository('text-from-ghost')
     inv = Inventory(revision_id='final-revid')
     inv.root.revision = 'root-revid'
     ie = inv.add_path('bla', 'file', 'myfileid')
     ie.revision = 'ghostrevid'
     ie.text_size = 42
     ie.text_sha1 = "bee68c8acd989f5f1765b4660695275948bf5c00"
     rev = bzrlib.revision.Revision(timestamp=0,
                                    timezone=None,
                                    committer="Foo Bar <*****@*****.**>",
                                    message="Message",
                                    revision_id='final-revid')
     repo.lock_write()
     try:
         repo.start_write_group()
         try:
             repo.add_revision('final-revid', rev, inv)
             try:
                 repo.texts.add_lines(('myfileid', 'ghostrevid'),
                     (('myfileid', 'ghost-text-parent'),),
                     ["line1\n", "line2\n"])
             except errors.RevisionNotPresent:
                 raise TestSkipped("text ghost parents not supported")
             if repo.supports_rich_root():
                 root_id = inv.root.file_id
                 repo.texts.add_lines((inv.root.file_id, inv.root.revision),
                     [], [])
         finally:
             repo.commit_write_group()
     finally:
         repo.unlock()
     repo.reconcile(thorough=True)