When a repository has only one root and is the first one to write to it the push step can be skipped and the packfile sent as is. This makes the process quite faster at the expense of disk space.
Rename references to add the repository ID
Change configuration (adds repository remote)
Delete remote "origin" used to clone the repository
Create siva file and copy temporary repository to it
Use copier to send the new siva file to the remote location
This process skips RootedTransactioner to download and upload siva files. To be able to use Copier it is added to Archiver.
Also moved logging of time spent to copy siva files from pushChangesToRootedRepository to tidy it a bit.
a: current version
b: fast path
repo
time a
time b
size a
size b
cangallo
881.5ms
347.6ms (-60%)
0.1MiB
0.1MiB(0%)
octoprint-tft
9s
1s (-84%)
2.8MiB
3MiB(+7%)
upsilon
2m20s
14.6s (-89%)
96.2MiB
98MiB (+2%)
numpy
7m55s
7m26s (-6%)
95MiB
95MiB (0%)
tensorflow
38m32s
37m10s (-3%)
706MiB
706MiB (0%)
bismuth
17m1s
3m48s (-77%)
491MiB
497MiB (+2%)
Note: the repositories "numpy" and "tensorflow" have more than one root so it uses the same code as before. Left here for completion.
When a repository has only one root and is the first one to write to it the push step can be skipped and the packfile sent as is. This makes the process quite faster at the expense of disk space.
This process skips
RootedTransactioner
to download and upload siva files. To be able to use Copier it is added toArchiver
.Also moved logging of time spent to copy siva files from
pushChangesToRootedRepository
to tidy it a bit.a: current version b: fast path
Note: the repositories "numpy" and "tensorflow" have more than one root so it uses the same code as before. Left here for completion.
Fixes #377
Raw output of regression: