git/Documentation
Christian Couder 7b644c8c5a rev-list: allow missing tips with --missing=[print|allow*]
In 9830926c7d (rev-list: add commit object support in `--missing`
option, 2023-10-27) we fixed the `--missing` option in `git rev-list`
so that it works with with missing commits, not just blobs/trees.

Unfortunately, such a command would still fail with a "fatal: bad
object <oid>" if it is passed a missing commit, blob or tree as an
argument (before the rev walking even begins).

When such a command is used to find the dependencies of some objects,
for example the dependencies of quarantined objects (see the
"QUARANTINE ENVIRONMENT" section in the git-receive-pack(1)
documentation), it would be better if the command would instead
consider such missing objects, especially commits, in the same way as
other missing objects.

If, for example `--missing=print` is used, it would be nice for some
use cases if the missing tips passed as arguments were reported in
the same way as other missing objects instead of the command just
failing.

We could introduce a new option to make it work like this, but most
users are likely to prefer the command to have this behavior as the
default one. Introducing a new option would require another dumb loop
to look for that option early, which isn't nice.

Also we made `git rev-list` work with missing commits very recently
and the command is most often passed commits as arguments. So let's
consider this as a bug fix related to these recent changes.

While at it let's add a NEEDSWORK comment to say that we should get
rid of the existing ugly dumb loops that parse the
`--exclude-promisor-objects` and `--missing=...` options early.

Helped-by: Linus Arver <linusa@google.com>
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-02-14 09:39:14 -08:00
..
RelNotes The fifteenth batch 2024-02-08 13:20:41 -08:00
config Merge branch 'rj/advice-disable-how-to-disable' 2024-01-30 13:34:12 -08:00
howto Merge branch 'js/update-urls-in-doc-and-comment' 2023-12-18 14:10:12 -08:00
includes
mergetools documentation: fix singular vs. plural 2023-10-09 12:06:29 -07:00
technical setup: introduce "extensions.refStorage" extension 2024-01-02 09:24:48 -08:00
.gitattributes
.gitignore
CodingGuidelines Merge branch 'js/contributor-docs-updates' 2024-01-12 16:09:55 -08:00
Makefile unit tests: add a project plan document 2023-11-10 08:15:25 +09:00
MyFirstContribution.txt Merge branch 'jc/majordomo-to-subspace' 2024-01-29 16:03:00 -08:00
MyFirstObjectWalk.txt
ReviewingGuidelines.txt documentation: remove unnecessary hyphens 2023-10-09 12:06:29 -07:00
SubmittingPatches SubmittingPatches: hyphenate non-ASCII 2023-12-27 21:33:24 -08:00
ToolsForGit.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
asciidoc.conf
asciidoctor-extensions.rb
blame-options.txt
build-docdep.perl
cat-texi.perl
cmd-list.perl
config.txt Merge branch 'jc/attr-tree-config' 2023-10-30 07:09:55 +09:00
date-formats.txt
diff-format.txt
diff-generate-patch.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
diff-options.txt doc: enforce placeholders in documentation 2023-12-26 11:06:57 -08:00
doc-diff
docbook-xsl.css
docbook.xsl
everyday.txto
fetch-options.txt fetch: add new config option fetch.all 2024-01-08 13:36:23 -08:00
fix-texi.perl
fsck-msgids.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-add.txt git-add.txt: add missing short option -A to synopsis 2023-12-15 13:01:51 -08:00
git-am.txt Merge branch 'jc/am-doc-whitespace-action-fix' into maint-2.42 2023-11-02 16:53:27 +09:00
git-annotate.txt
git-apply.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-archimport.txt
git-archive.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-bisect-lk2009.txt
git-bisect.txt Merge branch 'bk/bisect-doc-fix' 2024-01-19 15:04:46 -08:00
git-blame.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
git-branch.txt branch: clarify <oldbranch> term 2024-01-08 10:06:05 -08:00
git-bugreport.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
git-bundle.txt
git-cat-file.txt doc/cat-file: make synopsis and description less confusing 2023-10-09 12:46:33 -07:00
git-check-attr.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-check-ignore.txt documentation: fix whitespace issues 2023-10-09 12:06:29 -07:00
git-check-mailmap.txt
git-check-ref-format.txt documentation: add missing fullstops 2023-10-09 12:06:47 -07:00
git-checkout-index.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-checkout.txt Merge branch 'jc/orphan-unborn' 2024-01-02 13:51:30 -08:00
git-cherry-pick.txt
git-cherry.txt
git-citool.txt
git-clean.txt Merge branch 'ch/clean-docfix' into maint-2.42 2023-11-02 16:53:25 +09:00
git-clone.txt builtin/clone: introduce `--ref-format=` value flag 2024-01-02 09:24:48 -08:00
git-column.txt
git-commit-graph.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
git-commit-tree.txt
git-commit.txt doc: correct the 50 characters soft limit 2023-09-28 10:49:23 -07:00
git-config.txt doc: enforce placeholders in documentation 2023-12-26 11:06:57 -08:00
git-count-objects.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-credential-cache--daemon.txt
git-credential-cache.txt documentation: add missing words 2023-10-09 12:06:29 -07:00
git-credential-store.txt documentation: add missing words 2023-10-09 12:06:29 -07:00
git-credential.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-cvsexportcommit.txt
git-cvsimport.txt doc: switch links to https 2023-11-26 10:07:05 +09:00
git-cvsserver.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
git-daemon.txt doc: enforce placeholders in documentation 2023-12-26 11:06:57 -08:00
git-describe.txt
git-diagnose.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
git-diff-files.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-diff-index.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-diff-tree.txt documentation: add missing fullstops 2023-10-09 12:06:47 -07:00
git-diff.txt docs: AUTO_MERGE is not that special 2023-12-15 14:08:28 -08:00
git-difftool.txt doc: enforce placeholders in documentation 2023-12-26 11:06:57 -08:00
git-fast-export.txt
git-fast-import.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
git-fetch-pack.txt documentation: add missing words 2023-10-09 12:06:29 -07:00
git-fetch.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
git-filter-branch.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
git-fmt-merge-msg.txt
git-for-each-ref.txt Merge branch 'vd/for-each-ref-unsorted-optimization' 2023-12-09 16:37:50 -08:00
git-for-each-repo.txt
git-format-patch.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
git-fsck-objects.txt
git-fsck.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-fsmonitor--daemon.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-gc.txt builtin/repack.c: implement support for `--max-cruft-size` 2023-10-05 13:26:11 -07:00
git-get-tar-commit-id.txt documentation: fix typos 2023-10-09 12:06:24 -07:00
git-grep.txt documentation: fix typos 2023-10-09 12:06:24 -07:00
git-gui.txt
git-hash-object.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-help.txt documentation: add missing fullstops 2023-10-09 12:06:47 -07:00
git-hook.txt documentation: fix capitalization 2023-10-09 12:06:29 -07:00
git-http-backend.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-http-fetch.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-http-push.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-imap-send.txt doc: switch links to https 2023-11-26 10:07:05 +09:00
git-index-pack.txt index-pack: --fsck-objects to take an optional argument for fsck msgs 2024-02-01 11:09:53 -08:00
git-init-db.txt
git-init.txt builtin/init: introduce `--ref-format=` value flag 2024-01-02 09:24:48 -08:00
git-instaweb.txt
git-interpret-trailers.txt
git-log.txt diff-merges: introduce '--dd' option 2023-10-09 12:47:29 -07:00
git-ls-files.txt ls-files: avoid the verb "deprecate" for individual options 2024-01-25 10:55:53 -08:00
git-ls-remote.txt
git-ls-tree.txt
git-mailinfo.txt
git-mailsplit.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-maintenance.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-merge-base.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-merge-file.txt merge-file: add --diff-algorithm option 2023-11-22 14:23:06 +09:00
git-merge-index.txt
git-merge-one-file.txt
git-merge-tree.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-merge.txt Merge branch 'ml/doc-merge-updates' 2024-01-08 14:05:15 -08:00
git-mergetool--lib.txt documentation: fix capitalization 2023-10-09 12:06:29 -07:00
git-mergetool.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-mktag.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-mktree.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-multi-pack-index.txt
git-mv.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
git-name-rev.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-notes.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
git-p4.txt
git-pack-objects.txt pack-objects: allow `--filter` without `--stdout` 2023-10-02 14:54:29 -07:00
git-pack-redundant.txt
git-pack-refs.txt
git-patch-id.txt
git-prune-packed.txt documentation: add missing words 2023-10-09 12:06:29 -07:00
git-prune.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-pull.txt
git-push.txt Merge branch 'ms/doc-push-fix' into maint-2.42 2023-11-02 16:53:28 +09:00
git-quiltimport.txt documentation: add missing quotes 2023-10-09 12:06:47 -07:00
git-range-diff.txt Merge branch 'sn/typo-grammo-phraso-fixes' 2023-10-30 07:09:55 +09:00
git-read-tree.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-rebase.txt Merge branch 'nb/rebase-x-shell-docfix' 2024-01-29 16:02:59 -08:00
git-receive-pack.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-reflog.txt
git-remote-ext.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-remote-fd.txt documentation: add missing parenthesis 2023-10-09 12:06:47 -07:00
git-remote-helpers.txto
git-remote.txt
git-repack.txt Merge branch 'ps/git-repack-doc-fixes' 2023-10-30 07:09:57 +09:00
git-replace.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
git-replay.txt replay: add --contained to rebase contained branches 2023-11-26 10:10:49 +09:00
git-request-pull.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-rerere.txt
git-reset.txt
git-restore.txt documentation: add missing words 2023-10-09 12:06:29 -07:00
git-rev-list.txt documentation: fix subject/verb agreement 2023-10-09 12:06:29 -07:00
git-rev-parse.txt builtin/rev-parse: introduce `--show-ref-format` flag 2024-01-02 09:24:48 -08:00
git-revert.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
git-rm.txt documentation: fix apostrophe usage 2023-10-09 12:06:29 -07:00
git-send-email.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
git-send-pack.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-sh-i18n--envsubst.txt
git-sh-i18n.txt
git-sh-setup.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-shell.txt
git-shortlog.txt
git-show-branch.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-show-index.txt
git-show-ref.txt builtin/show-ref: add new mode to check for reference existence 2023-11-01 12:09:01 +09:00
git-show.txt documentation: fix singular vs. plural 2023-10-09 12:06:29 -07:00
git-sparse-checkout.txt
git-stage.txt
git-stash.txt
git-status.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
git-stripspace.txt documentation: fix capitalization 2023-10-09 12:06:29 -07:00
git-submodule.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
git-svn.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
git-switch.txt Merge branch 'jc/orphan-unborn' 2024-01-02 13:51:30 -08:00
git-symbolic-ref.txt documentation: fix subject/verb agreement 2023-10-09 12:06:29 -07:00
git-tag.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
git-tools.txt
git-unpack-file.txt
git-unpack-objects.txt
git-update-index.txt documentation: add some commas where they are helpful 2023-10-09 12:06:44 -07:00
git-update-ref.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-update-server-info.txt documentation: fix capitalization 2023-10-09 12:06:29 -07:00
git-upload-archive.txt
git-upload-pack.txt documentation: fix typos 2023-10-09 12:06:24 -07:00
git-var.txt documentation: wording improvements 2023-10-09 12:04:21 -07:00
git-verify-commit.txt
git-verify-pack.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-verify-tag.txt
git-version.txt
git-web--browse.txt
git-whatchanged.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
git-worktree.txt orphan/unborn: add to the glossary and use them consistently 2023-11-24 12:11:23 +09:00
git-write-tree.txt
git.txt Merge branch 'ja/doc-placeholders-fix' 2024-02-08 13:20:34 -08:00
gitattributes.txt merge-ll: expose revision names to custom drivers 2024-01-24 13:15:06 -08:00
gitcli.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
gitcore-tutorial.txt doc: switch links to https 2023-11-26 10:07:05 +09:00
gitcredentials.txt
gitcvs-migration.txt
gitdiffcore.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
giteveryday.txt Merge branch 'sn/typo-grammo-phraso-fixes' 2023-10-30 07:09:55 +09:00
gitfaq.txt
gitformat-bundle.txt documentation: fix subject/verb agreement 2023-10-09 12:06:29 -07:00
gitformat-chunk.txt documentation: fix verb tense 2023-10-09 12:06:29 -07:00
gitformat-commit-graph.txt
gitformat-index.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
gitformat-pack.txt midx: implement `BTMP` chunk 2023-12-14 14:38:07 -08:00
gitformat-signature.txt
gitglossary.txt
githooks.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
gitignore.txt
gitk.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
gitmailmap.txt
gitmodules.txt
gitnamespaces.txt
gitprotocol-capabilities.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
gitprotocol-common.txt documentation: remove extraneous words 2023-10-09 12:06:29 -07:00
gitprotocol-http.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
gitprotocol-pack.txt documentation: fix subject/verb agreement 2023-10-09 12:06:29 -07:00
gitprotocol-v2.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
gitremote-helpers.txt
gitrepository-layout.txt doc: make the gitfile syntax easier to discover 2023-12-03 10:54:51 +09:00
gitrevisions.txt
gitsubmodules.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
gittutorial-2.txt
gittutorial.txt doc: correct the 50 characters soft limit (+) 2023-10-09 12:07:26 -07:00
gitweb.conf.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
gitweb.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
gitworkflows.txt
glossary-content.txt Documentation: add "special refs" to the glossary 2024-01-19 11:10:42 -08:00
howto-index.sh
i18n.txt documentation: fix subject/verb agreement 2023-10-09 12:06:29 -07:00
install-doc-quick.sh
install-webdoc.sh
line-range-format.txt
line-range-options.txt
lint-fsck-msgids.perl
lint-gitlink.perl
lint-man-end-blurb.perl
lint-man-section-order.perl
manpage-bold-literal.xsl
manpage-normal.xsl
manpage.xsl
merge-options.txt docs: MERGE_AUTOSTASH is not that special 2023-12-15 14:08:28 -08:00
merge-strategies.txt
object-format-disclaimer.txt
pretty-formats.txt
pretty-options.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
pull-fetch-param.txt documentation: add missing article 2023-10-09 12:06:29 -07:00
ref-reachability-filters.txt
ref-storage-format.txt setup: introduce "extensions.refStorage" extension 2024-01-02 09:24:48 -08:00
rerere-options.txt
rev-list-description.txt
rev-list-options.txt rev-list: allow missing tips with --missing=[print|allow*] 2024-02-14 09:39:14 -08:00
revisions.txt
scalar.txt
sequencer.txt
signoff-option.txt doc: switch links to https 2023-11-26 10:07:05 +09:00
texi.xsl
trace2-target-values.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
transfer-data-leaks.txt
urls-remotes.txt documentation: fix singular vs. plural 2023-10-09 12:06:29 -07:00
urls.txt doc: enforce dashes in placeholders 2023-12-26 11:06:55 -08:00
user-manual.conf
user-manual.txt Merge branch 'ja/doc-placeholders-fix' 2024-02-08 13:20:34 -08:00