/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 workingtree.py

  • Committer: Jelmer Vernooij
  • Date: 2010-05-05 09:58:55 UTC
  • mto: (0.200.912 trunk)
  • mto: This revision was merged to the branch mainline in revision 6960.
  • Revision ID: jelmer@samba.org-20100505095855-i0165hooflvk9chy
Ignore control files in inventories.

Show diffs side-by-side

added added

removed removed

Lines of Context:
46
46
from bzrlib.plugins.git.inventory import (
47
47
    GitIndexInventory,
48
48
    )
 
49
from bzrlib.plugins.git.mapping import (
 
50
    GitFileIdMap,
 
51
    )
49
52
from bzrlib.plugins.git.tree import (
50
53
    changes_from_git_changes,
51
54
    tree_delta_from_git_changes,
58
61
class GitWorkingTree(workingtree.WorkingTree):
59
62
    """A Git working tree."""
60
63
 
61
 
    def __init__(self, bzrdir, repo, branch):
 
64
    def __init__(self, bzrdir, repo, branch, index):
62
65
        self.basedir = bzrdir.root_transport.local_abspath('.')
63
66
        self.bzrdir = bzrdir
64
67
        self.repository = repo
77
80
        self._control_files = lockable_files.LockableFiles(
78
81
            transport.get_transport(self.controldir), 'lock', lockdir.LockDir)
79
82
        self._format = GitWorkingTreeFormat()
80
 
        self.index = self.repository._git.open_index()
 
83
        self.index = index
81
84
        self.views = self._make_views()
82
85
        self._detect_case_handling()
83
86
 
176
179
        except KeyError, name:
177
180
            raise errors.NotBranchError("branch %s at %s" % (name, self.repository.base))
178
181
        basis_inv = self.repository.get_inventory(self.mapping.revision_id_foreign_to_bzr(head))
179
 
        result = GitIndexInventory(basis_inv, self.mapping, self.index,
180
 
            self.repository._git.object_store)
 
182
        store = self.repository._git.object_store
 
183
        commit = store[head]
 
184
        try:
 
185
            file_id_map_sha = store[commit.tree][self.mapping.BZR_FILE_IDS_FILE][1]
 
186
        except KeyError:
 
187
            file_ids = {}
 
188
        else:
 
189
            file_ids = self.mapping.import_fileid_map(store[file_id_map_sha])
 
190
        fileid_map = GitFileIdMap(file_ids, self.mapping)
 
191
        result = GitIndexInventory(basis_inv, fileid_map, self.index, store)
181
192
        self._set_inventory(result, dirty=False)
182
193
 
183
194
    @needs_read_lock