git/Documentation
Shawn O. Pearce 18bdec1118 Limit the size of the new delta_base_cache
The new configuration variable core.deltaBaseCacheLimit allows the
user to control how much memory they are willing to give to Git for
caching base objects of deltas.  This is not normally meant to be
a user tweakable knob; the "out of the box" settings are meant to
be suitable for almost all workloads.

We default to 16 MiB under the assumption that the cache is not
meant to consume all of the user's available memory, and that the
cache's main purpose was to cache trees, for faster path limiters
during revision traversal.  Since trees tend to be relatively small
objects, this relatively small limit should still allow a large
number of objects.

On the other hand we don't want the cache to start storing 200
different versions of a 200 MiB blob, as this could easily blow
the entire address space of a 32 bit process.

We evict OBJ_BLOB from the cache first (credit goes to Junio) as
we want to favor OBJ_TREE within the cache.  These are the objects
that have the highest inflate() startup penalty, as they tend to
be small and thus don't have that much of a chance to ammortize
that penalty over the entire data.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-03-18 22:43:37 -07:00
..
howto Remove git-resolve. 2007-02-12 19:33:03 -08:00
technical Update send-pack pipeline documentation. 2007-01-01 14:35:16 -08:00
.gitignore Stop ignoring Documentation/README 2007-01-20 19:10:26 -08:00
asciidoc.conf escape tilde in Documentation/git-rev-parse.txt 2006-10-03 01:04:19 -07:00
build-docdep.perl Documentation/build-docdep.perl: Fix dependencies for included asciidoc files 2007-03-01 13:24:54 -08:00
callouts.xsl spurious .sp in manpages 2006-12-13 09:41:18 -08:00
cmd-list.perl Documentation: add git-mergetool to the command list. 2007-03-14 01:29:26 -07:00
config.txt Limit the size of the new delta_base_cache 2007-03-18 22:43:37 -07:00
core-intro.txt Merge branch 'maint' 2007-02-17 16:16:48 -08:00
core-tutorial.txt Remove git-resolve. 2007-02-12 19:33:03 -08:00
cvs-migration.txt Documentation: mention module option to git-cvsimport 2007-03-04 16:47:32 -08:00
diff-format.txt Assorted typo fixes 2007-02-03 21:49:54 -08:00
diff-options.txt Allow git-diff exit with codes similar to diff(1) 2007-03-14 16:21:19 -07:00
diffcore.txt Remove git-diff-stages. 2007-02-12 19:33:03 -08:00
docbook-xsl.css Documentation: add git user's manual 2007-01-07 20:33:06 -05:00
everyday.txt git-fsck-objects is now synonym to git-fsck 2007-01-28 16:33:58 -08:00
fetch-options.txt Update clone/fetch documentation with --depth (shallow clone) option 2007-01-01 15:08:06 -08:00
git-add.txt Documentation: Correct minor typo in git-add documentation. 2007-03-01 13:26:18 -08:00
git-am.txt Teach git-am to pass -p option down to git-apply 2007-02-11 22:05:36 -08:00
git-annotate.txt Add git-annotate(1) and git-blame(1) 2006-04-18 12:06:55 -07:00
git-apply.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-applymbox.txt -u is now default for 'git-applymbox' 2007-01-09 21:20:39 -08:00
git-applypatch.txt Documentation: suggest corresponding Porcelain-level in plumbing docs. 2007-01-17 13:03:29 -08:00
git-archimport.txt git-archimport: allow remapping branch names 2007-03-07 10:30:22 -08:00
git-archive.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-bisect.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-blame.txt blame: document --contents option 2007-02-05 15:04:01 -08:00
git-branch.txt git-branch, git-checkout: autosetup for remote branch tracking 2007-03-10 23:41:58 -08:00
git-bundle.txt fix various doc typos 2007-03-01 03:27:36 -08:00
git-cat-file.txt Update git-cat-file documentation 2007-01-31 13:32:38 -08:00
git-check-ref-format.txt Some doc typo fixes 2006-06-07 11:49:35 -07:00
git-checkout-index.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-checkout.txt git-branch, git-checkout: autosetup for remote branch tracking 2007-03-10 23:41:58 -08:00
git-cherry-pick.txt Refer users to git-rev-parse for revision specification syntax. 2007-01-17 20:45:41 -08:00
git-cherry.txt git-cherry: document limit and add diagram 2006-10-26 18:53:18 -07:00
git-clean.txt Teach git-clean optional <paths>... parameters. 2006-05-08 16:40:45 -07:00
git-clone.txt git-clone: Sync documentation to usage note. 2007-02-19 18:14:29 -08:00
git-commit-tree.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-commit.txt git-commit: add a --interactive option 2007-03-09 00:05:23 -08:00
git-config.txt Merge GIT 1.5.0.4 2007-03-14 15:59:04 -07:00
git-convert-objects.txt Convert usage of GIT and Git into git 2005-10-10 16:01:31 -07:00
git-count-objects.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-cvsexportcommit.txt Allow passing of an alternative CVSROOT via -d. 2007-02-20 23:58:27 -08:00
git-cvsimport.txt Correct ordering in git-cvsimport's option documentation 2007-02-27 20:44:52 -08:00
git-cvsserver.txt cvsserver: asciidoc formatting changes 2007-03-13 21:16:05 -07:00
git-daemon.txt git-daemon documentation on enabling services. 2007-01-24 15:29:07 -08:00
git-describe.txt Update describe documentation. 2007-01-28 02:08:51 -08:00
git-diff-files.txt Teach git-diff-files the new option --no-index 2007-02-22 20:59:55 -08:00
git-diff-index.txt Minor grammar fixes for git-diff-index.txt 2006-11-02 18:03:31 -08:00
git-diff-tree.txt Move --pretty options into Documentation/pretty-formats.txt 2006-11-22 16:06:32 -08:00
git-diff.txt Merge branch 'master-for-junio' of git://repo.or.cz/git/fastimport; branch 'maint' 2007-03-05 21:23:46 -08:00
git-fast-import.txt Merge branch 'maint' 2007-03-10 22:07:26 -08:00
git-fetch-pack.txt fetch & clone: do not output progress when not on a tty 2007-02-19 19:20:05 -08:00
git-fetch.txt git-fetch: document automatic tag following. 2007-02-09 15:41:35 -08:00
git-fmt-merge-msg.txt Documentation for git-fmt-merge-msg 2005-11-01 14:45:49 -08:00
git-for-each-ref.txt git-for-each-ref doesn't return "the bit after $GIT_DIR/refs" 2007-02-05 13:48:59 -08:00
git-format-patch.txt Merge branch 'js/attach' 2007-03-10 23:38:18 -08:00
git-fsck-objects.txt git-fsck-objects is now synonym to git-fsck 2007-01-28 16:33:58 -08:00
git-fsck.txt git-fsck-objects is now synonym to git-fsck 2007-01-28 16:33:58 -08:00
git-gc.txt git-gc: run pack-refs by default unless the repo is bare 2007-02-13 09:19:34 -08:00
git-get-tar-commit-id.txt Remove trailing dot after short description 2006-03-09 11:44:11 -08:00
git-grep.txt Documentation: a few spelling fixes 2007-01-17 08:44:32 -08:00
git-hash-object.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-http-fetch.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-http-push.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-imap-send.txt Several trivial documentation touch ups. 2006-05-05 14:21:18 -07:00
git-index-pack.txt remove .keep pack lock files when done with refs update 2006-11-03 00:24:07 -08:00
git-init-db.txt Document git-init 2007-01-11 12:58:10 -08:00
git-init.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-instaweb.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-local-fetch.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-log.txt Update git-log and git-show documentation 2007-02-08 15:22:21 -08:00
git-lost-found.txt Remove trailing dot after short description 2006-03-09 11:44:11 -08:00
git-ls-files.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-ls-remote.txt Documentation: a few spelling fixes 2007-01-17 08:44:32 -08:00
git-ls-tree.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-mailinfo.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-mailsplit.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-merge-base.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-merge-file.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-merge-index.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-merge-one-file.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-merge-tree.txt Documentation: add a couple of missing docs. 2006-04-13 00:21:06 -07:00
git-merge.txt Convert update-index references in docs to add. 2007-02-17 10:20:27 -08:00
git-mergetool.txt mergetool: Add support for vimdiff. 2007-03-18 22:13:48 -04:00
git-mktag.txt Remove the version tags from the manpages 2005-10-10 14:49:52 -07:00
git-mktree.txt Documentation: add a couple of missing docs. 2006-04-13 00:21:06 -07:00
git-mv.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-name-rev.txt name-rev: introduce the --refs=<pattern> option 2007-02-17 11:26:49 -08:00
git-p4import.txt use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
git-pack-objects.txt git-pack-objects progress flag documentation and cleanup 2006-11-07 16:05:37 -08:00
git-pack-redundant.txt git-fsck-objects is now synonym to git-fsck 2007-01-28 16:33:58 -08:00
git-pack-refs.txt Documentation: pack-refs --all vs default behaviour 2007-01-26 00:02:51 -08:00
git-parse-remote.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-patch-id.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-peek-remote.txt rename --exec to --upload-pack for fetch-pack and peek-remote 2007-01-24 16:12:15 -08:00
git-prune-packed.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-prune.txt git-fsck-objects is now synonym to git-fsck 2007-01-28 16:33:58 -08:00
git-pull.txt Documentation/git-pull: describe default behaviour and config interactions 2007-02-08 23:35:43 -08:00
git-push.txt rename --exec to --receive-pack for push and send-pack 2007-01-19 17:54:33 -08:00
git-quiltimport.txt Documentation/git-quiltimport.txt: Fix labeled list formatting 2007-03-01 13:25:14 -08:00
git-read-tree.txt read-tree: document --exclude-per-directory 2006-12-05 23:44:23 -08:00
git-rebase.txt Convert update-index references in docs to add. 2007-02-17 10:20:27 -08:00
git-receive-pack.txt Change {pre,post}-receive hooks to use stdin 2007-03-11 22:56:03 -07:00
git-reflog.txt git reflog show 2007-02-08 15:35:24 -08:00
git-relink.txt Remove trailing dot after short description 2006-03-09 11:44:11 -08:00
git-remote.txt Merge branch 'maint' 2007-02-28 14:18:57 -08:00
git-repack.txt Fixed some typos in git-repack docs 2007-02-10 22:48:57 -08:00
git-repo-config.txt [PATCH] Rename git-repo-config to git-config. 2007-01-28 16:16:53 -08:00
git-request-pull.txt Remove trailing dot after short description 2006-03-09 11:44:11 -08:00
git-rerere.txt Convert update-index references in docs to add. 2007-02-17 10:20:27 -08:00
git-reset.txt Convert update-index references in docs to add. 2007-02-17 10:20:27 -08:00
git-rev-list.txt Merge branch 'js/reverse' 2007-02-13 19:20:06 -08:00
git-rev-parse.txt object name: introduce ':/<oneline prefix>' notation 2007-02-24 02:06:18 -08:00
git-revert.txt Refer users to git-rev-parse for revision specification syntax. 2007-01-17 20:45:41 -08:00
git-rm.txt git-rm documentation: remove broken behaviour from the example. 2007-01-16 11:50:29 -08:00
git-runstatus.txt Convert update-index references in docs to add. 2007-02-17 10:20:27 -08:00
git-send-email.txt Make git-send-email aware of Cc: lines. 2007-03-18 21:10:03 -07:00
git-send-pack.txt Assorted typo fixes 2007-02-03 21:49:54 -08:00
git-sh-setup.txt Documentation/git-sh-setup.txt: programmer's docs 2007-01-17 01:13:05 -08:00
git-shell.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-shortlog.txt Documentation: a few spelling fixes 2007-01-17 08:44:32 -08:00
git-show-branch.txt show-branch -g: default to the current branch. 2007-02-03 23:34:22 -08:00
git-show-index.txt Convert usage of GIT and Git into git 2005-10-10 16:01:31 -07:00
git-show-ref.txt show-ref --hash=len, --abbrev=len, and --abbrev 2006-10-01 00:32:44 -07:00
git-show.txt Fix git-show man page formatting in the EXAMPLES section 2007-02-27 15:38:05 -08:00
git-ssh-fetch.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-ssh-upload.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-status.txt Convert update-index references in docs to add. 2007-02-17 10:20:27 -08:00
git-stripspace.txt Remove trailing dot after short description 2006-03-09 11:44:11 -08:00
git-svn.txt git-svn: add -l/--local command to "git svn rebase" 2007-03-13 21:18:37 -07:00
git-svnimport.txt git-svnimport: support for incremental import 2007-01-06 22:47:58 -08:00
git-symbolic-ref.txt add logref support to git-symbolic-ref 2007-01-28 02:16:46 -08:00
git-tag.txt Add discussion section to git-tag documentation. 2007-02-11 22:29:12 -08:00
git-tar-tree.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-tools.txt Add hg-to-git conversion utility. 2007-02-05 13:52:45 -08:00
git-unpack-file.txt Remove the version tags from the manpages 2005-10-10 14:49:52 -07:00
git-unpack-objects.txt unpack-objects -r: call it "recover". 2006-09-13 12:59:49 -07:00
git-update-index.txt Add core.symlinks to mark filesystems that do not support symbolic links. 2007-03-02 16:58:05 -08:00
git-update-ref.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-update-server-info.txt Documentation: HTTP needs update-server-info. 2005-12-17 11:39:39 -08:00
git-upload-archive.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git-upload-pack.txt Fixup no-progress for fetch & clone 2007-02-24 00:26:18 -08:00
git-var.txt [PATCH] Rename git-repo-config to git-config. 2007-01-28 16:16:53 -08:00
git-verify-pack.txt Fix up docs where "--" isn't displayed correctly. 2006-05-05 14:21:52 -07:00
git-verify-tag.txt Remove trailing dot after short description 2006-03-09 11:44:11 -08:00
git-whatchanged.txt Documentation/git-whatchanged.txt: show -<n> instead of --max-count. 2007-01-17 01:11:56 -08:00
git-write-tree.txt Documentation: sync git.txt command list and manual page title 2007-01-18 15:53:37 -08:00
git.txt Update main git.html page to point at 1.5.0.5 documentation 2007-03-18 15:58:07 -07:00
gitk.txt Assorted typo fixes 2007-02-03 21:49:54 -08:00
glossary.txt glossary: Add definitions for dangling and unreachable objects 2007-03-04 16:47:33 -08:00
hooks.txt doc: hooks.txt said post-commit default sends an email, it doesn't 2007-02-02 21:18:59 -08:00
howto-index.sh Allow asciidoc formatted documentation in howto/ 2005-08-29 22:38:12 -07:00
i18n.txt Documentation/i18n.txt: it is i18n.commitencoding not core.commitencoding 2007-02-18 15:58:20 -08:00
install-doc-quick.sh Makefile: add quick-install-doc for installing pre-built manpages 2006-12-23 09:22:30 -08:00
install-webdoc.sh user-manual: install user manual stylesheet with other web documents 2007-03-10 23:05:02 -05:00
Makefile user-manual: ensure generated manual references stylesheet 2007-03-04 16:47:32 -08:00
merge-options.txt git-merge --squash 2006-06-24 01:11:19 -07:00
merge-strategies.txt Documentation: recursive is the default strategy these days. 2005-12-08 14:04:33 -08:00
pretty-formats.txt pretty-formats: add 'format:<string>' 2007-02-22 21:03:41 -08:00
pull-fetch-param.txt Documentation: remove master:origin example from pull-fetch-param.txt 2007-01-01 14:38:08 -08:00
RelNotes-1.5.0.1.txt GIT 1.5.0.1 2007-02-18 16:18:43 -08:00
RelNotes-1.5.0.2.txt GIT 1.5.0.2 2007-02-26 00:26:06 -08:00
RelNotes-1.5.0.3.txt GIT 1.5.0.3 2007-03-04 17:20:38 -08:00
RelNotes-1.5.0.4.txt GIT 1.5.0.4 2007-03-14 15:56:49 -07:00
RelNotes-1.5.0.5.txt GIT 1.5.0.5 2007-03-18 14:43:29 -07:00
RelNotes-1.5.0.txt git-clone: Sync documentation to usage note. 2007-02-19 18:14:29 -08:00
RelNotes-1.5.1.txt Post 1.5.0.3 cleanup 2007-03-04 22:49:10 -08:00
repository-layout.txt Clarify that git-update-server-info should be run for every git-push 2007-02-12 22:00:45 -08:00
sort_glossary.pl glossary: fix overoptimistic automatic linking of defined terms 2007-03-10 23:05:01 -05:00
SubmittingPatches Begin SubmittingPatches with a check list 2007-03-05 14:49:22 -08:00
tutorial-2.txt Convert update-index references in docs to add. 2007-02-17 10:20:27 -08:00
tutorial.txt Why is it bad to rewind a branch that has already been pushed out? 2007-02-04 11:43:45 -08:00
urls.txt Fix formatting for urls section of fetch, pull, and push manpages 2006-12-31 18:40:17 -08:00
user-manual.conf Documentation: add git user's manual 2007-01-07 20:33:06 -05:00
user-manual.txt Merge branch 'maint' 2007-03-10 22:07:26 -08:00