def dump_header_lumps(self): lump = SvnLump() lump.set_header('SVN-fs-dump-format-version', '2') self.dump_writer.write_lump(lump) lump = SvnLump() lump.set_header('UUID', str(self.source_repository.get_uuid())) self.dump_writer.write_lump(lump)
def read_lump(self): self._finish_last_lump() self.current_lump = SvnLump() self._read_headers() if not self.current_lump.get_header_keys(): return None self._read_properties() self._create_content_tin() return self.current_lump
def get_path_from_target(self, kind, path, action, from_path, from_rev): assert kind == 'file' or kind == 'dir' assert action == 'add' or action == 'replace' lump = SvnLump() lump.set_header('Node-path', path) lump.set_header('Node-kind', kind) lump.set_header('Node-action', action) lump.set_header('Node-copyfrom-path', from_path) lump.set_header('Node-copyfrom-rev', str(from_rev)) self.dump_writer.write_lump(lump)
def revision_header(self, rev, log_message=None): lump = SvnLump() lump.set_header('Revision-number', str(rev)) rev_info = self.source_repository.get_revision_info(rev) if log_message: new_log_message = log_message else: new_log_message = rev_info.log_message lump.properties = { 'svn:author': rev_info.author, 'svn:date': rev_info.date, 'svn:log': new_log_message } self.dump_writer.write_lump(lump)
def get_node_from_source(self, kind, path, action, from_path, from_rev): assert kind == 'file' or kind == 'dir' assert action == 'add' or action == 'replace' if self._is_obsolete_tag_or_branch_copy(path, from_rev): self._handle_obsolete_tag_or_branch(path) return path = normpath(path) repo = self.source_repository lump = SvnLump() lump.set_header('Node-path', path) lump.set_header('Node-kind', kind) lump.set_header('Node-action', action) if kind == 'file': tin = repo.get_tin_for_file(from_path, from_rev) lump.content = tin lump.set_header('Text-content-length', str(tin.size)) lump.set_header('Text-content-md5', tin.md5sum) lump.properties = repo.get_properties_of_path(from_path, from_rev) self.dump_writer.write_lump(lump)
def mkdir(self, path): lump = SvnLump() lump.set_header('Node-path', normpath(path)) lump.set_header('Node-kind', 'dir') lump.set_header('Node-action', 'add') self.dump_writer.write_lump(lump)
def delete_path(self, path): lump = SvnLump() lump.set_header('Node-path', normpath(path)) lump.set_header('Node-action', 'delete') self.dump_writer.write_lump(lump)