Commit 0ab7bbb6 authored by Kirill Smelkov's avatar Kirill Smelkov

restore: Use bitmap index from backup repo, if present

This way, if backup repository was freshly repacked with bitmap index
generation turned on, we can get ~ 30% - 50% speedup for a typical
erp5.git pack extraction.

"--use-bitmap-index" option was added to git in v2.0, but was only
active for to-stdout packs generation. It was enabled for to-file packs
generation in git v2.11.

Since git v2.0 was released in 2014 - 4 years ago - I'm not adding
runtime detection of "--use-bitmap-index" availability.

See https://git.kernel.org/pub/scm/git/git.git/commit/?h=645c432d61 for
details.
parent cbfa78d2
...@@ -889,7 +889,12 @@ func cmd_restore_(gb *git.Repository, HEAD_ string, restorespecv []RestoreSpec) ...@@ -889,7 +889,12 @@ func cmd_restore_(gb *git.Repository, HEAD_ string, restorespecv []RestoreSpec)
"-c", "pack.threads=1", // occupy only 1 CPU + it packs better "-c", "pack.threads=1", // occupy only 1 CPU + it packs better
"pack-objects", "pack-objects",
"--revs", // include all objects referencable from input sha1 list "--revs", // include all objects referencable from input sha1 list
"--reuse-object", "--reuse-delta", "--delta-base-offset"} "--reuse-object", "--reuse-delta", "--delta-base-offset",
// use bitmap index from backup repo, if present (faster pack generation)
// https://git.kernel.org/pub/scm/git/git.git/commit/?h=645c432d61
"--use-bitmap-index",
}
if verbose <= 0 { if verbose <= 0 {
pack_argv = append(pack_argv, "-q") pack_argv = append(pack_argv, "-q")
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment