git-commit-vandalism/Documentation
Jeff King e26a8c4721 repack: extend --keep-unreachable to loose objects
If you use "repack -adk" currently, we will pack all objects
that are already packed into the new pack, and then drop the
old packs. However, loose unreachable objects will be left
as-is. In theory these are meant to expire eventually with
"git prune". But if you are using "repack -k", you probably
want to keep things forever and therefore do not run "git
prune" at all. Meaning those loose objects may build up over
time and end up fooling any object-count heuristics (such as
the one done by "gc --auto", though since git-gc does not
support "repack -k", this really applies to whatever custom
scripts people might have driving "repack -k").

With this patch, we instead stuff any loose unreachable
objects into the pack along with the already-packed
unreachable objects. This may seem wasteful, but it is
really no more so than using "repack -k" in the first place.
We are at a slight disadvantage, in that we have no useful
ordering for the result, or names to hand to the delta code.
However, this is again no worse than what "repack -k" is
already doing for the packed objects. The packing of these
objects doesn't matter much because they should not be
accessed frequently (unless they actually _do_ become
referenced, but then they would get moved to a different
part of the packfile during the next repack).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-06-14 13:57:45 -07:00
..
howto command-list.txt: add the common groups block 2015-05-21 13:03:37 -07:00
RelNotes Hopefully the final last-minute update before 2.9 final 2016-06-10 15:30:19 -07:00
technical Merge branch 'jc/linkgit-fix' into maint 2016-05-26 13:17:26 -07:00
.gitattributes
.gitignore doc: generate a list of valid merge tools 2013-02-02 21:46:52 -08:00
asciidoc.conf Documentation: avoid poor-man's small caps GIT 2013-02-01 13:53:25 -08:00
blame-options.txt Merge branch 'ea/blame-progress' 2016-01-12 15:16:54 -08:00
build-docdep.perl
cat-texi.perl Documentation: Strip texinfo anchors to avoid duplicates 2013-04-03 16:14:19 -07:00
cmd-list.perl command-list: prepare machinery for upcoming "common groups" section 2015-05-21 13:03:37 -07:00
CodingGuidelines add DEVELOPER makefile knob to check for acknowledged warnings 2016-02-25 12:49:45 -08:00
config.txt Merge branch 'tb/core-eol-fix' into maint 2016-06-06 14:27:36 -07:00
date-formats.txt Correct word usage of "timezone" in "Documentation" directory 2013-11-12 10:47:17 -08:00
diff-config.txt Merge branch 'jk/diff-compact-heuristic' 2016-06-10 15:26:06 -07:00
diff-format.txt diff-format doc: a score can follow M for rewrite 2015-01-28 22:22:03 -08:00
diff-generate-patch.txt doc: fix misrendering due to `single quote' 2015-05-12 22:13:39 -07:00
diff-options.txt Merge branch 'jk/diff-compact-heuristic' 2016-06-10 15:26:06 -07:00
docbook-xsl.css
docbook.xsl
everyday.txto Documentation: fix linkgit references 2016-05-09 15:44:14 -07:00
fetch-options.txt Merge branch 'ew/force-ipv4' 2016-02-24 13:25:54 -08:00
fix-texi.perl
fmt-merge-msg-config.txt Documentation: include 'merge.branchdesc' for merge and config as well 2015-05-28 12:38:46 -07:00
git-add.txt git-add doc: do not say working directory when you mean working tree 2016-01-21 09:06:35 -08:00
git-am.txt Expand documentation describing --signoff 2016-01-05 13:42:39 -08:00
git-annotate.txt
git-apply.txt git-apply.txt: mention the behavior inside a subdir 2016-03-24 10:16:52 -07:00
git-archimport.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-archive.txt docs: clarify remote restrictions for git-upload-archive 2014-02-28 09:55:35 -08:00
git-bisect-lk2009.txt Merge branch 'jk/asciidoctor-section-heading-markup-fix' into maint 2015-10-16 14:32:53 -07:00
git-bisect.txt Merge branch 'xf/user-manual-markup' into maint 2015-11-04 14:20:47 -08:00
git-blame.txt blame: add support for --[no-]progress option 2015-12-16 10:18:34 -08:00
git-branch.txt Merge branch 'kn/for-each-branch' 2015-10-15 15:43:38 -07:00
git-bundle.txt transport: drop support for git-over-rsync 2016-02-01 13:07:41 -08:00
git-cat-file.txt usage: do not insist that standard input must come from a file 2015-10-16 15:27:52 -07:00
git-check-attr.txt usage: do not insist that standard input must come from a file 2015-10-16 15:27:52 -07:00
git-check-ignore.txt Documentation: fix linkgit references 2016-05-09 15:44:14 -07:00
git-check-mailmap.txt builtin: add git-check-mailmap command 2013-07-13 10:19:37 -07:00
git-check-ref-format.txt Merge branch 'nd/doc-check-ref-format-typo' into maint 2015-12-11 11:14:15 -08:00
git-checkout-index.txt
git-checkout.txt checkout: add --progress option 2015-11-01 14:08:17 -08:00
git-cherry-pick.txt Merge branch 'pa/cherry-pick-doc-typo' 2016-06-03 14:38:02 -07:00
git-cherry.txt Documentation: revamp git-cherry(1) 2013-11-27 12:16:49 -08:00
git-citool.txt
git-clean.txt Documentation/git-clean.txt: don't mention deletion of .git/modules/* 2016-02-09 10:07:34 -08:00
git-clone.txt Merge branch 'sb/clone-shallow-passthru' 2016-05-06 14:45:43 -07:00
git-column.txt doc: remote author/documentation sections from more pages 2014-01-27 08:34:34 -08:00
git-commit-tree.txt Merge branch 'jc/commit-tree-ignore-commit-gpgsign' 2016-05-13 13:18:27 -07:00
git-commit.txt commit: add a commit.verbose config variable 2016-05-10 10:25:52 -07:00
git-config.txt config doc: improve exit code listing 2016-04-26 11:32:24 -07:00
git-count-objects.txt Documentation: fix misuses of "nor" 2014-03-31 15:16:22 -07:00
git-credential-cache--daemon.txt credential-cache: close stderr in daemon process 2014-09-16 11:11:58 -07:00
git-credential-cache.txt credential-cache--daemon: disallow relative socket path 2016-02-23 12:56:27 -08:00
git-credential-store.txt git-credential-store: support XDG_CONFIG_HOME 2015-03-24 08:08:02 -07:00
git-credential.txt Documentation: make AsciiDoc links always point to HTML files 2013-09-06 14:49:06 -07:00
git-cvsexportcommit.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-cvsimport.txt Documentation: typofixes 2014-11-04 13:14:44 -08:00
git-cvsserver.txt *config.txt: stick to camelCase naming convention 2015-03-13 22:13:46 -07:00
git-daemon.txt Documentation: use "command-line" when used as a compound adjective, and fix other minor grammatical issues 2014-05-21 13:57:10 -07:00
git-describe.txt Merge branch 'sg/describe-contains' 2015-08-31 15:39:10 -07:00
git-diff-files.txt
git-diff-index.txt Documentation/diff-index: mention two modes of operation 2013-05-20 15:50:44 -07:00
git-diff-tree.txt
git-diff.txt Documentation: fix misuses of "nor" 2014-03-31 15:16:22 -07:00
git-difftool.txt difftool: add support for --trust-exit-code 2014-10-28 10:36:57 -07:00
git-fast-export.txt doc: convert \--option to --option 2015-05-12 22:14:46 -07:00
git-fast-import.txt Merge branch 'mh/fast-import-get-mark' 2015-08-03 11:01:23 -07:00
git-fetch-pack.txt fetch-pack: update the documentation for "<refs>..." arguments 2016-03-05 10:54:35 -08:00
git-fetch.txt Merge branch 'jc/em-dash-in-doc' into maint 2015-11-04 14:20:45 -08:00
git-filter-branch.txt Documentation: fix linkgit references 2016-05-09 15:44:14 -07:00
git-fmt-merge-msg.txt usage: do not insist that standard input must come from a file 2015-10-16 15:27:52 -07:00
git-for-each-ref.txt Documentation: fix linkgit references 2016-05-09 15:44:14 -07:00
git-format-patch.txt format-patch: introduce --base=auto option 2016-04-26 10:51:50 -07:00
git-fsck-objects.txt
git-fsck.txt fsck: introduce git fsck --connectivity-only 2015-06-23 14:27:37 -07:00
git-gc.txt Merge branch 'jc/doc-gc-prune-now' into maint 2015-10-20 15:22:40 -07:00
git-get-tar-commit-id.txt usage: do not insist that standard input must come from a file 2015-10-16 15:27:52 -07:00
git-grep.txt Merge branch 'tg/grep-no-index-fallback' 2016-01-20 11:43:39 -08:00
git-gui.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-hash-object.txt usage: do not insist that standard input must come from a file 2015-10-16 15:27:52 -07:00
git-help.txt Documentation: use "command-line" when used as a compound adjective, and fix other minor grammatical issues 2014-05-21 13:57:10 -07:00
git-http-backend.txt Merge branch 'jk/http-backend-deadlock' into maint 2015-06-16 14:33:45 -07:00
git-http-fetch.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-http-push.txt
git-imap-send.txt imap-send: use cURL automatically when NO_OPENSSL defined 2015-03-10 15:19:05 -07:00
git-index-pack.txt clone: open a shortcut for connectivity check 2013-05-28 08:07:20 -07:00
git-init-db.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-init.txt githooks.txt: improve the intro section 2016-05-04 16:22:23 -07:00
git-instaweb.txt *config.txt: stick to camelCase naming convention 2015-03-13 22:13:46 -07:00
git-interpret-trailers.txt interpret-trailers: add option for in-place editing 2016-01-14 12:22:17 -08:00
git-log.txt Merge branch 'rj/log-decorate-auto' 2016-05-29 18:06:43 -07:00
git-ls-files.txt documentation: fix some typos 2016-03-03 13:43:36 -08:00
git-ls-remote.txt ls-remote: add support for showing symrefs 2016-01-19 10:07:56 -08:00
git-ls-tree.txt
git-mailinfo.txt Merge branch 'va/mailinfo-doc-typofix' into maint 2016-05-26 13:17:14 -07:00
git-mailsplit.txt
git-merge-base.txt merge-base: teach "--fork-point" mode 2013-10-29 13:06:08 -07:00
git-merge-file.txt merge-file: clamp exit code to maximum 127 2015-10-29 12:10:23 -07:00
git-merge-index.txt The name of the hash function is "SHA-1", not "SHA1" 2013-04-15 11:08:37 -07:00
git-merge-one-file.txt Documentation: use [verse] for SYNOPSIS sections 2011-07-06 14:26:26 -07:00
git-merge-tree.txt use 'tree-ish' instead of 'treeish' 2013-09-04 15:02:56 -07:00
git-merge.txt pull: pass --allow-unrelated-histories to "git merge" 2016-04-21 11:58:51 -07:00
git-mergetool--lib.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-mergetool.txt mergetool: document the default for --[no-]prompt 2014-04-24 11:29:05 -07:00
git-mktag.txt usage: do not insist that standard input must come from a file 2015-10-16 15:27:52 -07:00
git-mktree.txt
git-mv.txt mv: better document side effects when moving a submodule 2014-01-07 14:33:04 -08:00
git-name-rev.txt use 'commit-ish' instead of 'committish' 2013-09-04 15:03:03 -07:00
git-notes.txt Documentation: fix linkgit references 2016-05-09 15:44:14 -07:00
git-p4.txt Merge branch 'ls/p4-map-user' 2016-04-06 11:39:05 -07:00
git-pack-objects.txt pack-objects: warn on split packs disabling bitmaps 2016-04-28 09:58:14 -07:00
git-pack-redundant.txt
git-pack-refs.txt Documentation: remove --prune from pack-refs examples 2013-07-18 16:23:46 -07:00
git-parse-remote.txt
git-patch-id.txt usage: do not insist that standard input must come from a file 2015-10-16 15:27:52 -07:00
git-prune-packed.txt Documentation: adjust document title underlining 2014-10-13 13:35:18 -07:00
git-prune.txt worktree: new place for "git prune --worktrees" 2015-06-29 08:48:44 -07:00
git-pull.txt pull --rebase: add --[no-]autostash flag 2016-03-21 13:30:36 -07:00
git-push.txt Merge branch 'mm/push-simple-doc' into maint 2016-03-10 11:13:44 -08:00
git-quiltimport.txt git-quiltimport: add commandline option --series <file> 2015-09-01 11:10:07 -07:00
git-read-tree.txt Documentation: use "command-line" when used as a compound adjective, and fix other minor grammatical issues 2014-05-21 13:57:10 -07:00
git-rebase.txt rebase: decouple --exec from --interactive 2016-03-18 14:35:31 -07:00
git-receive-pack.txt *config.txt: stick to camelCase naming convention 2015-03-13 22:13:46 -07:00
git-reflog.txt git-reflog: add exists command 2015-07-21 14:08:14 -07:00
git-relink.txt
git-remote-ext.txt doc: add some crossrefs between manual pages 2014-11-11 14:47:04 -08:00
git-remote-fd.txt doc: add some crossrefs between manual pages 2014-11-11 14:47:04 -08:00
git-remote-helpers.txto Rename {git- => git}remote-helpers.txt 2013-02-01 14:12:34 -08:00
git-remote-testgit.txt Merge branch 'jk/remote-helpers-doc' 2013-02-07 14:41:45 -08:00
git-remote.txt Merge branch 'xf/user-manual-markup' into maint 2015-11-04 14:20:47 -08:00
git-repack.txt repack: extend --keep-unreachable to loose objects 2016-06-14 13:57:45 -07:00
git-replace.txt Merge branch 'cc/replace-graft' 2014-07-27 15:14:18 -07:00
git-request-pull.txt doc: show usage of branch description 2015-09-14 12:50:33 -07:00
git-rerere.txt *config.txt: stick to camelCase naming convention 2015-03-13 22:13:46 -07:00
git-reset.txt Merge branch 'jl/nor-or-nand-and' 2014-04-08 12:00:28 -07:00
git-rev-list.txt Merge branch 'jk/date-local' 2015-10-05 12:30:13 -07:00
git-rev-parse.txt rev-parse --parseopt: allow [*=?!] in argument hints 2015-07-15 10:30:54 -07:00
git-revert.txt Expand documentation describing --signoff 2016-01-05 13:42:39 -08:00
git-rm.txt rm: better document side effects when removing a submodule 2014-01-07 14:34:06 -08:00
git-send-email.txt Documentation/git-send-email: fix typo in gmail 2FA section 2016-06-01 17:23:38 -07:00
git-send-pack.txt push: support signing pushes iff the server supports it 2015-08-19 12:58:45 -07:00
git-sh-i18n--envsubst.txt correct a few doubled-word nits in comments and documentation 2012-03-28 11:18:35 -07:00
git-sh-i18n.txt Merge branch 'jn/doc-dashdash' into maint 2011-09-11 21:52:18 -07:00
git-sh-setup.txt Merge branch 'jc/reflog-doc' 2013-10-18 13:50:12 -07:00
git-shell.txt shell doc: remove stray "+" in example 2014-05-08 10:26:26 -07:00
git-shortlog.txt git-shortlog.txt: make SYNOPSIS match log, update OPTIONS 2013-04-21 23:11:02 -07:00
git-show-branch.txt Documentation: fix misuses of "nor" 2014-03-31 15:16:22 -07:00
git-show-index.txt usage: do not insist that standard input must come from a file 2015-10-16 15:27:52 -07:00
git-show-ref.txt usage: do not insist that standard input must come from a file 2015-10-16 15:27:52 -07:00
git-show.txt doc: convert \--option to --option 2015-05-12 22:14:46 -07:00
git-stage.txt Documentation: adjust document title underlining 2014-10-13 13:35:18 -07:00
git-stash.txt stash: allow "stash show" diff output configurable 2015-08-31 11:29:04 -07:00
git-status.txt Documentation: explain optional arguments better 2015-09-21 10:48:23 -07:00
git-stripspace.txt usage: do not insist that standard input must come from a file 2015-10-16 15:27:52 -07:00
git-submodule.txt Merge branch 'sb/submodule-deinit-all' 2016-05-17 14:38:20 -07:00
git-svn.txt git-svn: loosen config globs limitations 2016-03-15 01:35:38 +00:00
git-symbolic-ref.txt git symbolic-ref --delete $symref 2012-10-21 12:17:38 -07:00
git-tag.txt tag: do not show ambiguous tag names as "tags/foo" 2016-01-26 13:34:10 -08:00
git-tools.txt Documentation/git-tools: retire manually-maintained list 2015-07-28 13:21:59 -07:00
git-unpack-file.txt
git-unpack-objects.txt usage: do not insist that standard input must come from a file 2015-10-16 15:27:52 -07:00
git-update-index.txt config: add core.untrackedCache 2016-01-27 12:30:00 -08:00
git-update-ref.txt update-ref and tag: add --create-reflog arg 2015-07-21 14:08:35 -07:00
git-update-server-info.txt
git-upload-archive.txt Documentation: match underline with the text 2015-10-22 10:16:12 -07:00
git-upload-pack.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-var.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
git-verify-commit.txt verify-commit: add option to print raw gpg status information 2015-06-22 14:20:47 -07:00
git-verify-pack.txt git-verify-pack.txt: fix inconsistent spelling of "packfile" 2015-05-17 11:24:57 -07:00
git-verify-tag.txt verify-tag: add option to print raw gpg status information 2015-06-22 14:20:47 -07:00
git-web--browse.txt Documentation: use "command-line" when used as a compound adjective, and fix other minor grammatical issues 2014-05-21 13:57:10 -07:00
git-whatchanged.txt whatchanged: document its historical nature 2013-08-13 09:01:54 -07:00
git-worktree.txt worktree: add: introduce --checkout option 2016-03-29 11:12:36 -07:00
git-write-tree.txt
git.txt Git 2.9 2016-06-13 10:42:13 -07:00
gitattributes.txt userdiff: add support for Fountain documents 2015-07-23 14:44:51 -07:00
gitcli.txt Documentation: use "command-line" when used as a compound adjective, and fix other minor grammatical issues 2014-05-21 13:57:10 -07:00
gitcore-tutorial.txt transport: drop support for git-over-rsync 2016-02-01 13:07:41 -08:00
gitcredentials.txt credential: let empty credential specs reset helper list 2016-02-26 10:58:14 -08:00
gitcvs-migration.txt doc: add 'everyday' to 'git help' 2014-10-10 16:02:26 -07:00
gitdiffcore.txt doc: convert \--option to --option 2015-05-12 22:14:46 -07:00
giteveryday.txt Documentation/everyday: match undefline with the text 2015-10-22 10:14:44 -07:00
gitglossary.txt doc: add 'everyday' to 'git help' 2014-10-10 16:02:26 -07:00
githooks.txt hooks: allow customizing where the hook directory is 2016-05-04 16:25:13 -07:00
gitignore.txt Revert "Merge branch 'nd/exclusion-regression-fix'" 2016-03-18 11:06:15 -07:00
gitk.txt Documentation: change -L:<regex> to -L:<funcname> 2015-04-20 11:05:50 -07:00
gitmodules.txt submodule: improve documentation of update subcommand 2015-03-02 14:59:55 -08:00
gitnamespaces.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
gitremote-helpers.txt gitremote-helpers.txt: document pushcert option 2015-08-19 12:41:38 -07:00
gitrepository-layout.txt Documentation/git-worktree: wordsmith worktree-related manpages 2015-07-20 11:07:18 -07:00
gitrevisions.txt Documentation: match underline with the text 2015-10-22 10:16:12 -07:00
gittutorial-2.txt Merge branch 'sn/tutorial-status-output-example' 2014-11-19 13:47:59 -08:00
gittutorial.txt transport: drop support for git-over-rsync 2016-02-01 13:07:41 -08:00
gitweb.conf.txt Merge branch 'tf/gitweb-typofix' 2015-07-21 12:45:27 -07:00
gitweb.txt Documentation: fix documentation AsciiDoc links for external urls 2014-02-20 14:14:58 -08:00
gitworkflows.txt Documentation: the name of the system is 'Git', not 'git' 2013-02-01 13:53:33 -08:00
glossary-content.txt Merge branch 'rn/glossary-typofix' into HEAD 2016-05-18 14:40:14 -07:00
howto-index.sh howto-index.sh: use the $( ... ) construct for command substitution 2014-04-17 11:14:57 -07:00
i18n.txt Documentation/i18n.txt: clarify character encoding support 2015-07-01 14:55:53 -07:00
install-doc-quick.sh docs: Update install-doc-quick 2011-11-08 13:37:10 -08:00
install-webdoc.sh install-webdoc.sh: use the $( ... ) construct for command substitution 2014-04-17 11:14:58 -07:00
line-range-format.txt Documentation: change -L:<regex> to -L:<funcname> 2015-04-20 11:05:50 -07:00
lint-gitlink.perl ci: validate "linkgit:" in documentation 2016-05-10 11:15:04 -07:00
mailmap.txt Merge branch 'jk/mailmap-from-blob' 2013-01-05 23:41:42 -08:00
Makefile Documentation: bold literals in man 2016-05-31 11:42:30 -07:00
manpage-1.72.xsl
manpage-base-url.xsl.in
manpage-base.xsl
manpage-bold-literal.xsl Documentation: option to render literal text as bold for manpages 2009-03-27 00:33:20 -07:00
manpage-normal.xsl
manpage-quote-apos.xsl
manpage-suppress-sp.xsl
merge-config.txt Merge branch 'sg/merge-summary-config' into maint 2015-06-25 11:02:17 -07:00
merge-options.txt Merge branch 'kf/gpg-sig-verification-doc' 2016-05-17 14:38:39 -07:00
merge-strategies.txt merge-strategies.txt: fix typo 2016-02-22 10:42:52 -08:00
pretty-formats.txt Documentation: clarify signature verification 2016-05-13 12:37:44 -07:00
pretty-options.txt Merge branch 'lt/pretty-expand-tabs' 2016-04-13 14:12:36 -07:00
pull-fetch-param.txt docs: Explain the purpose of fetch's and pull's <refspec> parameter. 2014-06-12 09:59:13 -07:00
rev-list-options.txt Merge branch 'jk/date-local' 2015-10-05 12:30:13 -07:00
revisions.txt Merge branch 'wp/sha1-name-negative-match' 2016-02-10 14:20:10 -08:00
sequencer.txt revert: introduce --abort to cancel a failed cherry-pick 2011-11-22 18:16:59 -08:00
SubmittingPatches Documentation: add setup instructions for Travis CI 2016-05-02 11:31:44 -07:00
urls-remotes.txt Documentation: match underline with the text 2015-10-22 10:16:12 -07:00
urls.txt transport: drop support for git-over-rsync 2016-02-01 13:07:41 -08:00
user-manual.conf docs: monospace listings in docbook output 2012-08-07 14:30:52 -07:00
user-manual.txt documentation: fix some typos 2016-03-03 13:43:36 -08:00