mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-15 10:46:15 +02:00
fixup: sync -> flush
The latter is not used for memory synchronization things.
This commit is contained in:
parent
97ff2ed455
commit
fb8d3ed150
5 changed files with 14 additions and 5 deletions
|
@ -170,6 +170,11 @@ struct GitRepoImpl : GitRepo, std::enable_shared_from_this<GitRepoImpl>
|
||||||
{
|
{
|
||||||
/** Location of the repository on disk. */
|
/** Location of the repository on disk. */
|
||||||
std::filesystem::path path;
|
std::filesystem::path path;
|
||||||
|
/**
|
||||||
|
* libgit2 repository. Note that new objects are not written to disk,
|
||||||
|
* because we are using a mempack backend. For writing to disk, see
|
||||||
|
* `flush()`, which is also called by `GitFileSystemObjectSink::sync()`.
|
||||||
|
*/
|
||||||
Repository repo;
|
Repository repo;
|
||||||
/**
|
/**
|
||||||
* In-memory object store for efficient batched writing to packfiles.
|
* In-memory object store for efficient batched writing to packfiles.
|
||||||
|
@ -1064,7 +1069,7 @@ struct GitFileSystemObjectSinkImpl : GitFileSystemObjectSink
|
||||||
git_tree_entry_filemode(entry));
|
git_tree_entry_filemode(entry));
|
||||||
}
|
}
|
||||||
|
|
||||||
Hash sync() override
|
Hash flush() override
|
||||||
{
|
{
|
||||||
updateBuilders({});
|
updateBuilders({});
|
||||||
|
|
||||||
|
|
|
@ -7,12 +7,16 @@ namespace nix {
|
||||||
|
|
||||||
namespace fetchers { struct PublicKey; }
|
namespace fetchers { struct PublicKey; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A sink that writes into a Git repository. Note that nothing may be written
|
||||||
|
* until `flush()` is called.
|
||||||
|
*/
|
||||||
struct GitFileSystemObjectSink : ExtendedFileSystemObjectSink
|
struct GitFileSystemObjectSink : ExtendedFileSystemObjectSink
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Flush builder and return a final Git hash.
|
* Flush builder and return a final Git hash.
|
||||||
*/
|
*/
|
||||||
virtual Hash sync() = 0;
|
virtual Hash flush() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct GitRepo
|
struct GitRepo
|
||||||
|
|
|
@ -261,7 +261,7 @@ struct GitArchiveInputScheme : InputScheme
|
||||||
auto tarballCache = getTarballCache();
|
auto tarballCache = getTarballCache();
|
||||||
auto parseSink = tarballCache->getFileSystemObjectSink();
|
auto parseSink = tarballCache->getFileSystemObjectSink();
|
||||||
auto lastModified = unpackTarfileToSink(archive, *parseSink);
|
auto lastModified = unpackTarfileToSink(archive, *parseSink);
|
||||||
auto tree = parseSink->sync();
|
auto tree = parseSink->flush();
|
||||||
|
|
||||||
act.reset();
|
act.reset();
|
||||||
|
|
||||||
|
|
|
@ -170,7 +170,7 @@ static DownloadTarballResult downloadTarball_(
|
||||||
auto tarballCache = getTarballCache();
|
auto tarballCache = getTarballCache();
|
||||||
auto parseSink = tarballCache->getFileSystemObjectSink();
|
auto parseSink = tarballCache->getFileSystemObjectSink();
|
||||||
auto lastModified = unpackTarfileToSink(archive, *parseSink);
|
auto lastModified = unpackTarfileToSink(archive, *parseSink);
|
||||||
auto tree = parseSink->sync();
|
auto tree = parseSink->flush();
|
||||||
|
|
||||||
act.reset();
|
act.reset();
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,7 @@ TEST_F(GitUtilsTest, sink_basic)
|
||||||
|
|
||||||
// sink->createHardlink("foo-1.1/links/foo-2", CanonPath("foo-1.1/hello"));
|
// sink->createHardlink("foo-1.1/links/foo-2", CanonPath("foo-1.1/hello"));
|
||||||
|
|
||||||
auto result = repo->dereferenceSingletonDirectory(sink->sync());
|
auto result = repo->dereferenceSingletonDirectory(sink->flush());
|
||||||
auto accessor = repo->getAccessor(result, false);
|
auto accessor = repo->getAccessor(result, false);
|
||||||
auto entries = accessor->readDirectory(CanonPath::root);
|
auto entries = accessor->readDirectory(CanonPath::root);
|
||||||
ASSERT_EQ(entries.size(), 5);
|
ASSERT_EQ(entries.size(), 5);
|
||||||
|
|
Loading…
Reference in a new issue