Nix 2.26.3
Nix, the purely functional package manager; unstable internal interfaces
 
Loading...
Searching...
No Matches
nix::GitFileSystemObjectSinkImpl Struct Reference
Inheritance diagram for nix::GitFileSystemObjectSinkImpl:
nix::GitFileSystemObjectSink nix::ExtendedFileSystemObjectSink nix::FileSystemObjectSink

Classes

struct  PendingDir
 

Public Member Functions

void pushBuilder (std::string name)
 
 GitFileSystemObjectSinkImpl (ref< GitRepoImpl > repo)
 
std::pair< git_oid, std::string > popBuilder ()
 
void addToTree (const std::string &name, const git_oid &oid, git_filemode_t mode)
 
void updateBuilders (std::span< const std::string > names)
 
bool prepareDirs (const std::vector< std::string > &pathComponents, bool isDir)
 
void createRegularFile (const CanonPath &path, std::function< void(CreateRegularFileSink &)> func) override
 
void createDirectory (const CanonPath &path) override
 
void createSymlink (const CanonPath &path, const std::string &target) override
 
void createHardlink (const CanonPath &path, const CanonPath &target) override
 
Hash flush () override
 

Public Attributes

ref< GitRepoImplrepo
 
std::vector< PendingDirpendingDirs
 

Member Function Documentation

◆ createDirectory()

void nix::GitFileSystemObjectSinkImpl::createDirectory ( const CanonPath & path)
inlineoverridevirtual

◆ createHardlink()

void nix::GitFileSystemObjectSinkImpl::createHardlink ( const CanonPath & path,
const CanonPath & target )
inlineoverridevirtual

Create a hard link. The target must be the path of a previously encountered file relative to the root of the FSO.

Implements nix::ExtendedFileSystemObjectSink.

◆ createRegularFile()

void nix::GitFileSystemObjectSinkImpl::createRegularFile ( const CanonPath & path,
std::function< void(CreateRegularFileSink &)>  )
inlineoverridevirtual

This function in general is no re-entrant. Only one file can be written at a time.

Implements nix::FileSystemObjectSink.

◆ createSymlink()

void nix::GitFileSystemObjectSinkImpl::createSymlink ( const CanonPath & path,
const std::string & target )
inlineoverridevirtual

◆ flush()

Hash nix::GitFileSystemObjectSinkImpl::flush ( )
inlineoverridevirtual

Flush builder and return a final Git hash.

Implements nix::GitFileSystemObjectSink.


The documentation for this struct was generated from the following file: