/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 tools/history2weaves.py

  • Committer: Martin Pool
  • Date: 2005-09-22 05:48:45 UTC
  • Revision ID: mbp@sourcefrog.net-20050922054845-f5562db93da732e4
- require marker file to do upgrade so as not to clobber something important

- set branch format in upgrade

- cleanup unused files after upgrade

- write out new revisions to write place

Show diffs side-by-side

added added

removed removed

Lines of Context:
110
110
 
111
111
 
112
112
    def convert(self):
 
113
        if not os.path.exists('.bzr/allow-upgrade'):
 
114
            raise Exception, "please create .bzr/allow-upgrade to indicate consent"
113
115
        self._backup_control_dir()
114
116
        self.pb = ProgressBar()
115
117
        if not os.path.isdir('.bzr/weaves'):
122
124
        self.branch = Branch('.', relax_version_check=True)
123
125
        os.remove(self.branch.controlfilename('branch-format'))
124
126
        self._convert_working_inv()
125
 
        self._cleanup_spare_files()
126
127
        rev_history = self.branch.revision_history()[:300]
127
128
        # to_read is a stack holding the revisions we still need to process;
128
129
        # appending to it adds new highest-priority revisions
145
146
        note('  %6d texts' % self.text_count)
146
147
        self._write_all_weaves()
147
148
        self._write_all_revs()
 
149
        self._set_new_format()
 
150
        self._cleanup_spare_files()
 
151
 
 
152
 
 
153
    def _set_new_format(self):
148
154
        f = self.branch.controlfile('branch-format', 'wb')
149
 
        try:
 
155
        try:
150
156
            f.write(BZR_BRANCH_FORMAT_5)
151
157
        finally:
152
158
            f.close()
 
159
                
153
160
 
154
161
 
155
162
    def _cleanup_spare_files(self):
159
166
                continue
160
167
            assert os.path.getsize(p) == 0
161
168
            os.remove(p)
 
169
        os.remove('.bzr/allow-upgrade')
 
170
        shutil.rmtree('.bzr/inventory-store')
 
171
        shutil.rmtree('.bzr/text-store')
162
172
 
163
173
 
164
174
    def _backup_control_dir(self):
190
200
 
191
201
    def _write_all_revs(self):
192
202
        """Write all revisions out in new form."""
 
203
        shutil.rmtree('.bzr/revision-store')
 
204
        os.mkdir('.bzr/revision-store')
193
205
        try:
194
206
            for i, rev_id in enumerate(self.converted_revs):
195
207
                self.pb.update('write revision', i, len(self.converted_revs))
196
 
                f = file('new-revisions/%s' % rev_id, 'wb')
 
208
                f = file('.bzr/revision-store/%s' % rev_id, 'wb')
197
209
                try:
198
210
                    serializer_v5.write_revision(self.revisions[rev_id], f)
199
211
                finally: