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< GitRepoImpl > | repo |
std::vector< PendingDir > | pendingDirs |
|
inlineoverridevirtual |
Implements nix::FileSystemObjectSink.
|
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.
|
inlineoverridevirtual |
This function in general is no re-entrant. Only one file can be written at a time.
Implements nix::FileSystemObjectSink.
|
inlineoverridevirtual |
Implements nix::FileSystemObjectSink.
|
inlineoverridevirtual |
Flush builder and return a final Git hash.
Implements nix::GitFileSystemObjectSink.