pub struct TreeTxn { /* private fields */ }Implementations§
Source§impl TreeTxn
impl TreeTxn
Sourcepub fn write_file(
&mut self,
rel: &Path,
source: Source<'_>,
mode: u32,
mtime: FileTime,
) -> Result<(), TreeError>
pub fn write_file( &mut self, rel: &Path, source: Source<'_>, mode: u32, mtime: FileTime, ) -> Result<(), TreeError>
Writes rel in place when it is a regular file, so hard links to it
see the new bytes as they would after the command ran for real.
Sourcepub fn create_dir(
&mut self,
rel: &Path,
mode: u32,
mtime: FileTime,
) -> Result<(), TreeError>
pub fn create_dir( &mut self, rel: &Path, mode: u32, mtime: FileTime, ) -> Result<(), TreeError>
Creates the directory rel, leaving one that exists, or a link to one
inside the root, as it is, as mkdir -p would. Any other entry there
is refused, since the run saw none. Its mode and mtime are set once
every other write has landed, so a read-only directory still takes
its contents and their creation does not move its mtime.
Sourcepub fn create_symlink(
&mut self,
rel: &Path,
target: &Path,
mtime: FileTime,
) -> Result<(), TreeError>
pub fn create_symlink( &mut self, rel: &Path, target: &Path, mtime: FileTime, ) -> Result<(), TreeError>
Creates the symlink rel holding target, which is never followed.
The name must be free, as ln -s needs it: an entry the run replaced
is removed first by its own deletion.
Sourcepub fn set_dir_attrs(
&mut self,
rel: &Path,
mode: Option<u32>,
mtime: Option<FileTime>,
) -> Result<(), TreeError>
pub fn set_dir_attrs( &mut self, rel: &Path, mode: Option<u32>, mtime: Option<FileTime>, ) -> Result<(), TreeError>
Gives the existing directory rel the recorded attributes that are
Some, once every other write has landed, as Self::create_dir
does for the directories it makes; with mtime None it keeps the
mtime it has now. Call it before any write, so a rollback restores
the attributes the directory had before the transaction.