~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/store/__init__.py

  • Committer: John Arbash Meinel
  • Date: 2005-11-10 02:11:13 UTC
  • mto: This revision was merged to the branch mainline in revision 1508.
  • Revision ID: john@arbash-meinel.com-20051110021113-6ebd7a9777d10840
Updated the stores, all tests pass, and a store doesn't have to be 100% compressed

Show diffs side-by-side

added added

removed removed

Lines of Context:
136
136
        should call this if they have no optimised facility for a 
137
137
        specific 'other'.
138
138
        """
 
139
        mutter('Store._copy_one: %r', fileid)
139
140
        f = other.get(fileid, suffix)
140
141
        self.add(f, fileid, suffix)
141
142
 
148
149
 
149
150
        f -- A file-like object, or string
150
151
        """
151
 
        mutter("add store entry %r" % (fileid))
 
152
        mutter("add store entry %r", fileid)
152
153
        
153
154
        names = self._id_to_names(fileid, suffix)
154
155
        if self._transport.has_any(names):
155
156
            raise BzrError("store %r already contains id %r" 
156
157
                           % (self._transport.base, fileid))
157
158
 
158
 
        if self._prefixed:
159
 
            try:
160
 
                self._transport.mkdir(hash_prefix(fileid)[:-1])
161
 
            except errors.FileExists:
162
 
                pass
163
 
 
 
159
        # Most of the time, just adding the file will work
 
160
        # if we find a time where it fails, (because the dir
 
161
        # doesn't exist), then create the dir, and try again
164
162
        self._add(names[0], f)
165
163
 
 
164
 
166
165
    def _add(self, relpath, f):
167
166
        """Actually add the file to the given location.
168
167
        This should be overridden by children.
320
319
        self.cache_store = store.__class__(LocalTransport(cache_dir))
321
320
 
322
321
    def get(self, id):
323
 
        mutter("Cache add %s" % id)
 
322
        mutter("Cache add %s", id)
324
323
        if id not in self.cache_store:
325
324
            self.cache_store.add(self.source_store.get(id), id)
326
325
        return self.cache_store.get(id)
341
340
    if not store_from.listable():
342
341
        raise UnlistableStore(store_from)
343
342
    ids = [f for f in store_from]
 
343
    mutter('copy_all ids: %r', ids)
344
344
    store_to.copy_multi(store_from, ids)
345
345
 
346
346
def hash_prefix(fileid):