diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2010-02-01 09:27:35 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-02-01 12:09:47 -0800 |
commit | 5eef828bc03649ba11acc05c983d72823c27f0bb (patch) | |
tree | 2554847a2c6f7853bf2b9b8226de1ccca67ce828 /Documentation | |
parent | bash: don't offer remote transport helpers as subcommands (diff) | |
download | tgif-5eef828bc03649ba11acc05c983d72823c27f0bb.tar.xz |
fast-import: Stream very large blobs directly to pack
If a blob is larger than the configured big-file-threshold, instead
of reading it into a single buffer obtained from malloc, stream it
onto the end of the current pack file. Streaming the larger objects
into the pack avoids the 4+ GiB memory footprint that occurs when
fast-import is processing 2+ GiB blobs.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/config.txt | 14 | ||||
-rw-r--r-- | Documentation/git-fast-import.txt | 6 |
2 files changed, 20 insertions, 0 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt index f7728ec40c..b16a20bc36 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -409,6 +409,20 @@ You probably do not need to adjust this value. + Common unit suffixes of 'k', 'm', or 'g' are supported. +core.bigFileThreshold:: + Files larger than this size are stored deflated, without + attempting delta compression. Storing large files without + delta compression avoids excessive memory usage, at the + slight expense of increased disk usage. ++ +Default is 512 MiB on all platforms. This should be reasonable +for most projects as source code and other text files can still +be delta compressed, but larger binary media files won't be. ++ +Common unit suffixes of 'k', 'm', or 'g' are supported. ++ +Currently only linkgit:git-fast-import[1] honors this setting. + core.excludesfile:: In addition to '.gitignore' (per-directory) and '.git/info/exclude', git looks into this file for patterns diff --git a/Documentation/git-fast-import.txt b/Documentation/git-fast-import.txt index e6d364f53c..79c5f69d42 100644 --- a/Documentation/git-fast-import.txt +++ b/Documentation/git-fast-import.txt @@ -50,6 +50,12 @@ OPTIONS importers may wish to lower this, such as to ensure the resulting packfiles fit on CDs. +--big-file-threshold=<n>:: + Maximum size of a blob that fast-import will attempt to + create a delta for, expressed in bytes. The default is 512m + (512 MiB). Some importers may wish to lower this on systems + with constrained memory. + --depth=<n>:: Maximum delta depth, for blob and tree deltification. Default is 10. |