Sync tarball cache within tarball cache Activity

This commit is contained in:
Robert Hensing 2024-08-26 11:39:14 +02:00
parent d0f8a92363
commit 97ff2ed455
2 changed files with 4 additions and 2 deletions

View File

@ -261,11 +261,12 @@ struct GitArchiveInputScheme : InputScheme
auto tarballCache = getTarballCache();
auto parseSink = tarballCache->getFileSystemObjectSink();
auto lastModified = unpackTarfileToSink(archive, *parseSink);
auto tree = parseSink->sync();
act.reset();
TarballInfo tarballInfo {
.treeHash = tarballCache->dereferenceSingletonDirectory(parseSink->sync()),
.treeHash = tarballCache->dereferenceSingletonDirectory(tree),
.lastModified = lastModified
};

View File

@ -170,6 +170,7 @@ static DownloadTarballResult downloadTarball_(
auto tarballCache = getTarballCache();
auto parseSink = tarballCache->getFileSystemObjectSink();
auto lastModified = unpackTarfileToSink(archive, *parseSink);
auto tree = parseSink->sync();
act.reset();
@ -184,7 +185,7 @@ static DownloadTarballResult downloadTarball_(
} else {
infoAttrs.insert_or_assign("etag", res->etag);
infoAttrs.insert_or_assign("treeHash",
tarballCache->dereferenceSingletonDirectory(parseSink->sync()).gitRev());
tarballCache->dereferenceSingletonDirectory(tree).gitRev());
infoAttrs.insert_or_assign("lastModified", uint64_t(lastModified));
if (res->immutableUrl)
infoAttrs.insert_or_assign("immutableUrl", *res->immutableUrl);