コード例 #1
0
ファイル: regress.py プロジェクト: tnt/rdiff-backup
def recreate_meta(meta_manager):
    """Make regress_time mirror_metadata snapshot by patching

	We write to a tempfile first.  Otherwise, in case of a crash, it
	would seem we would have an intact snapshot and partial diff, not
	the reverse.

	"""
    temprp = [TempFile.new_in_dir(Globals.rbdir)]

    def callback(rp):
        temprp[0] = rp

    writer = metadata.MetadataFile(temprp[0],
                                   'w',
                                   check_path=0,
                                   callback=callback)
    for rorp in meta_manager.get_meta_at_time(regress_time, None):
        writer.write_object(rorp)
    writer.close()

    finalrp = Globals.rbdir.append("mirror_metadata.%s.snapshot.gz" %
                                   Time.timetostring(regress_time))
    assert not finalrp.lstat(), finalrp
    rpath.rename(temprp[0], finalrp)
    if Globals.fsync_directories: Globals.rbdir.fsync()
コード例 #2
0
ファイル: journal.py プロジェクト: ObiWahn/rdiff-backup
	def write(self):
		"""Write the current entry into the journal"""
		entry_rp = TempFile.new_in_dir(journal_dir_rp)
		fp = entry_rp.open("wb")
		fp.write(self.to_string())
		entry_rp.fsync(fp)
		assert not fp.close()
		sync_journal()
		self.entry_rp = entry_rp
コード例 #3
0
ファイル: journal.py プロジェクト: tnt/rdiff-backup
 def write(self):
     """Write the current entry into the journal"""
     entry_rp = TempFile.new_in_dir(journal_dir_rp)
     fp = entry_rp.open("wb")
     fp.write(self.to_string())
     entry_rp.fsync(fp)
     assert not fp.close()
     sync_journal()
     self.entry_rp = entry_rp
コード例 #4
0
ファイル: regress.py プロジェクト: Christoph-D/rdiff-backup
def recreate_meta(meta_manager):
	"""Make regress_time mirror_metadata snapshot by patching

	We write to a tempfile first.  Otherwise, in case of a crash, it
	would seem we would have an intact snapshot and partial diff, not
	the reverse.

	"""
	temprp = [TempFile.new_in_dir(Globals.rbdir)]
	def callback(rp): temprp[0] = rp
	writer = metadata.MetadataFile(temprp[0], 'w', check_path = 0, callback = callback)
	for rorp in meta_manager.get_meta_at_time(regress_time, None):
		writer.write_object(rorp)
	writer.close()

	finalrp = Globals.rbdir.append("mirror_metadata.%s.snapshot.gz" %
								   Time.timetostring(regress_time))
	assert not finalrp.lstat(), finalrp
	rpath.rename(temprp[0], finalrp)
	if Globals.fsync_directories: Globals.rbdir.fsync()
コード例 #5
0
ファイル: fs_abilities.py プロジェクト: ObiWahn/rdiff-backup
	def init_readwrite(self, rbdir):
		"""Set variables using fs tested at rp_base.  Run locally.

		This method creates a temp directory in rp_base and writes to
		it in order to test various features.  Use on a file system
		that will be written to.

		"""
		assert rbdir.conn is Globals.local_connection
		if not rbdir.isdir():
			assert not rbdir.lstat(), (rbdir.path, rbdir.lstat())
			rbdir.mkdir()
		self.root_rp = rbdir
		self.read_only = 0
		subdir = TempFile.new_in_dir(rbdir)
		subdir.mkdir()

		self.set_extended_filenames(subdir)
		self.set_win_reserved_filenames(subdir)
		self.set_unicode_filenames(subdir)
		self.set_case_sensitive_readwrite(subdir)
		self.set_ownership(subdir)
		self.set_hardlinks(subdir)
		self.set_fsync_dirs(subdir)
		self.set_eas(subdir, 1)
		self.set_acls(subdir)
		self.set_win_acls(subdir, 1)
		self.set_dir_inc_perms(subdir)
		self.set_resource_fork_readwrite(subdir)
		self.set_carbonfile()
		self.set_high_perms_readwrite(subdir)
		self.set_symlink_perms(subdir)
		self.set_escape_dos_devices(subdir)
		self.set_escape_trailing_spaces_readwrite(subdir)

		subdir.delete()
		return self
コード例 #6
0
ファイル: fs_abilities.py プロジェクト: tnt/rdiff-backup
    def init_readwrite(self, rbdir):
        """Set variables using fs tested at rp_base.  Run locally.

		This method creates a temp directory in rp_base and writes to
		it in order to test various features.  Use on a file system
		that will be written to.

		"""
        assert rbdir.conn is Globals.local_connection
        if not rbdir.isdir():
            assert not rbdir.lstat(), (rbdir.path, rbdir.lstat())
            rbdir.mkdir()
        self.root_rp = rbdir
        self.read_only = 0
        subdir = TempFile.new_in_dir(rbdir)
        subdir.mkdir()

        self.set_extended_filenames(subdir)
        self.set_win_reserved_filenames(subdir)
        self.set_unicode_filenames(subdir)
        self.set_case_sensitive_readwrite(subdir)
        self.set_ownership(subdir)
        self.set_hardlinks(subdir)
        self.set_fsync_dirs(subdir)
        self.set_eas(subdir, 1)
        self.set_acls(subdir)
        self.set_win_acls(subdir, 1)
        self.set_dir_inc_perms(subdir)
        self.set_resource_fork_readwrite(subdir)
        self.set_carbonfile()
        self.set_high_perms_readwrite(subdir)
        self.set_symlink_perms(subdir)
        self.set_escape_dos_devices(subdir)
        self.set_escape_trailing_spaces_readwrite(subdir)

        subdir.delete()
        return self