diff options
author | Junio C Hamano <gitster@pobox.com> | 2022-07-14 22:03:59 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-07-14 22:03:59 (GMT) |
commit | 73b9ef6ab18fa7c9631f24eba0c67357067a1267 (patch) | |
tree | e0f65b69d818f6725c2e3bcbbb702eb55d0134da /Documentation/config | |
parent | be733e120016a076926da3491c0c77d439686933 (diff) | |
parent | aaf81223f48f710a3b9a64cc84fac93deed806b6 (diff) | |
download | git-73b9ef6ab18fa7c9631f24eba0c67357067a1267.zip git-73b9ef6ab18fa7c9631f24eba0c67357067a1267.tar.gz git-73b9ef6ab18fa7c9631f24eba0c67357067a1267.tar.bz2 |
Merge branch 'hx/unpack-streaming'
Allow large objects read from a packstream to be streamed into a
loose object file straight, without having to keep it in-core as a
whole.
* hx/unpack-streaming:
unpack-objects: use stream_loose_object() to unpack large objects
core doc: modernize core.bigFileThreshold documentation
object-file.c: add "stream_loose_object()" to handle large object
object-file.c: factor out deflate part of write_loose_object()
object-file.c: refactor write_loose_object() to several steps
unpack-objects: low memory footprint for get_data() in dry_run mode
Diffstat (limited to 'Documentation/config')
-rw-r--r-- | Documentation/config/core.txt | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/Documentation/config/core.txt b/Documentation/config/core.txt index 41e330f..3ea3124 100644 --- a/Documentation/config/core.txt +++ b/Documentation/config/core.txt @@ -444,17 +444,32 @@ 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. Additionally files - larger than this size are always treated as binary. + The size of files considered "big", which as discussed below + changes the behavior of numerous git commands, as well as how + such files are stored within the repository. The default is + 512 MiB. Common unit suffixes of 'k', 'm', or 'g' are + supported. + -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. +Files above the configured limit will be: + -Common unit suffixes of 'k', 'm', or 'g' are supported. +* Stored deflated in packfiles, without attempting delta compression. ++ +The default limit is primarily set with this use-case in mind. With it, +most projects will have their source code and other text files delta +compressed, but not larger binary media files. ++ +Storing large files without delta compression avoids excessive memory +usage, at the slight expense of increased disk usage. ++ +* Will be treated as if they were labeled "binary" (see + linkgit:gitattributes[5]). e.g. linkgit:git-log[1] and + linkgit:git-diff[1] will not compute diffs for files above this limit. ++ +* Will generally be streamed when written, which avoids excessive +memory usage, at the cost of some fixed overhead. Commands that make +use of this include linkgit:git-archive[1], +linkgit:git-fast-import[1], linkgit:git-index-pack[1], +linkgit:git-unpack-objects[1] and linkgit:git-fsck[1]. core.excludesFile:: Specifies the pathname to the file that contains patterns to |