~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/remotebranch.py

  • Committer: Martin Pool
  • Date: 2005-05-25 03:27:02 UTC
  • Revision ID: mbp@sourcefrog.net-20050525032702-395f038adb33c235
- clean up statcache code
- stat files in order by inum
- report on added/deleted files

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
 
26
26
 
27
27
import gzip
28
 
from sets import Set
29
28
from cStringIO import StringIO
30
29
import urllib2
31
30
 
112
111
            self.baseurl = baseurl
113
112
            self._check_format()
114
113
 
 
114
        self.inventory_store = RemoteStore(baseurl + '/.bzr/inventory-store/')
 
115
        self.text_store = RemoteStore(baseurl + '/.bzr/text-store/')
 
116
 
115
117
    def __str__(self):
116
118
        return '%s(%r)' % (self.__class__.__name__, self.baseurl)
117
119
 
145
147
            raise BzrCheckError('revision stored as {%s} actually contains {%s}'
146
148
                                % (revision_id, r.revision_id))
147
149
        return r
 
150
 
 
151
 
 
152
class RemoteStore:
 
153
    def __init__(self, baseurl):
 
154
        self._baseurl = baseurl
 
155
        
 
156
 
 
157
    def _path(self, name):
 
158
        if '/' in name:
 
159
            raise ValueError('invalid store id', name)
 
160
        return self._baseurl + '/' + name
 
161
        
 
162
    def __getitem__(self, fileid):
 
163
        p = self._path(fileid)
 
164
        return get_url(p, compressed=True)
148
165
    
149
166
 
150
167
def simple_walk():
 
168
    """For experimental purposes, traverse many parts of a remote branch"""
151
169
    from revision import Revision
152
170
    from branch import Branch
153
171
    from inventory import Inventory
154
172
 
155
 
    got_invs = Set()
156
 
    got_texts = Set()
 
173
    got_invs = {}
 
174
    got_texts = {}
157
175
 
158
176
    print 'read history'
159
177
    history = get_url('/.bzr/revision-history').readlines()
187
205
                print '  fetch %s text {%s}' % (path, text_id)
188
206
                text_f = get_url('/.bzr/text-store/%s' % text_id,
189
207
                                 compressed=True)
190
 
                got_texts.add(text_id)
 
208
                got_texts[text_id] = True
191
209
 
192
 
            got_invs.add(inv_id)
 
210
            got_invs.add[inv_id] = True
193
211
 
194
212
        print '----'
195
213