git-commit-vandalism/builtin
brian m. carlson 81861288a9 builtin/checkout: simplify metadata initialization
When we call init_checkout_metadata in reset_tree, we want to pass the
object ID of the commit in question so that it can be passed to filters,
or if there is no commit, the tree.  We anticipated this latter case,
which can occur elsewhere in the checkout code, but it cannot occur
here.  The only case in which we do not have a commit object is when
invoking git switch with --orphan.  Moreover, we can only hit this code
path without a commit object additionally with either --force or
--discard-changes.

In such a case, there is no point initializing the checkout metadata
with a commit or tree because (a) there is no commit, only the empty
tree, and (b) we will never use the data, since no files will be smudged
when checking out a branch with no files.  Pass the all-zeros object ID
in this case, since we just need some value which is a valid pointer.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Reviewed-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2020-05-21 09:55:21 -07:00
..
add.c Merge branch 'hw/advice-add-nothing' 2020-02-14 12:54:19 -08:00
am.c am: support --show-current-patch=diff to retrieve .git/rebase-apply/patch 2020-02-20 13:20:41 -08:00
annotate.c
apply.c
archive.c
bisect--helper.c bisect: libify check_good_are_ancestors_of_bad and its dependents 2020-02-19 09:37:14 -08:00
blame.c Merge branch 'sg/blame-indent-heuristics-is-now-the-default' 2019-12-01 09:04:30 -08:00
branch.c l10n: minor case fix in 'git branch' '--unset-upstream' description 2019-12-09 12:30:55 -08:00
bundle.c bundle-verify: add --quiet 2019-11-11 11:46:29 +09:00
cat-file.c convert: provide additional metadata to filters 2020-03-16 11:37:02 -07:00
check-attr.c
check-ignore.c check-ignore: fix documentation and implementation to match 2020-02-18 15:28:58 -08:00
check-mailmap.c
check-ref-format.c
checkout-index.c
checkout.c builtin/checkout: simplify metadata initialization 2020-05-21 09:55:21 -07:00
clean.c Merge branch 'en/clean-nested-with-ignored' 2019-10-11 14:24:46 +09:00
clone.c builtin/clone: compute checkout metadata for clones 2020-03-16 11:37:02 -07:00
column.c builtin: consistently pass cmd_* prefix to parse_options 2019-05-13 14:22:53 +09:00
commit-graph.c commit-graph.h: use odb in 'load_commit_graph_one_fd_st' 2020-02-04 11:36:51 -08:00
commit-tree.c
commit.c Merge branch 'tb/commit-graph-object-dir' 2020-02-14 12:54:24 -08:00
config.c config: add '--show-scope' to print the scope of a config value 2020-02-10 10:49:12 -08:00
count-objects.c
credential.c
describe.c describe: don't abort too early when searching tags 2020-02-26 12:14:12 -08:00
diff-files.c
diff-index.c
diff-tree.c
diff.c
difftool.c hashmap: remove type arg from hashmap_{get,put,remove}_entry 2019-10-07 10:20:12 +09:00
env--helper.c env--helper: mark a file-local symbol as static 2019-07-11 14:31:04 -07:00
fast-export.c Merge branch 'mt/use-passed-repo-more-in-funcs' 2020-02-14 12:54:22 -08:00
fetch-pack.c
fetch.c Merge branch 'ds/partial-clone-fixes' 2020-03-02 15:07:19 -08:00
fmt-merge-msg.c Merge branch 'hi/gpg-use-check-signature' 2020-03-05 10:43:05 -08:00
for-each-ref.c
fsck.c fsck: only provide oid/type in fsck_error callback 2019-10-28 14:05:18 +09:00
gc.c commit-graph.h: store an odb in 'struct write_commit_graph_context' 2020-02-04 11:36:37 -08:00
get-tar-commit-id.c
grep.c Merge branch 'mt/threaded-grep-in-object-store' 2020-02-14 12:54:20 -08:00
hash-object.c builtin: consistently pass cmd_* prefix to parse_options 2019-05-13 14:22:53 +09:00
help.c
index-pack.c Merge branch 'jk/index-pack-dupfix' 2020-02-14 12:54:24 -08:00
init-db.c Merge branch 'nd/init-relative-template-fix' into maint 2019-07-25 14:27:06 -07:00
interpret-trailers.c interpret-trailers: load default config 2019-06-19 07:12:49 -07:00
log.c Merge branch 'dl/format-patch-notes-config-fixup' 2019-12-25 11:21:58 -08:00
ls-files.c Merge branch 'ds/include-exclude' 2019-09-30 13:19:32 +09:00
ls-remote.c
ls-tree.c
mailinfo.c
mailsplit.c
merge-base.c
merge-file.c
merge-index.c
merge-ours.c
merge-recursive.c Ensure index matches head before invoking merge machinery, round N 2019-08-19 10:08:03 -07:00
merge-tree.c Merge branch 'jk/tree-walk-overflow' 2019-08-22 12:34:10 -07:00
merge.c gpg-interface: add minTrustLevel as a configuration option 2020-01-15 14:06:06 -08:00
mktag.c sha1-file: allow check_object_signature() to handle any repo 2020-01-31 10:45:39 -08:00
mktree.c mktree: drop unused length parameter 2019-05-13 14:22:54 +09:00
multi-pack-index.c multi-pack-index: add [--[no-]progress] option. 2019-10-23 12:05:06 +09:00
mv.c
name-rev.c name-rev: sort tip names before applying 2020-02-05 10:36:33 -08:00
notes.c strbuf: add and use strbuf_insertstr() 2020-02-10 09:04:45 -08:00
pack-objects.c Merge branch 'jk/nth-packed-object-id' 2020-03-05 10:43:03 -08:00
pack-redundant.c
pack-refs.c
patch-id.c patch-id: use oid_to_hex() to print multiple object IDs 2019-12-09 12:26:40 -08:00
prune-packed.c
prune.c object: convert lookup_object() to use object_id 2019-06-20 10:18:09 -07:00
pull.c Merge branch 'bw/remote-rename-update-config' 2020-02-25 11:18:32 -08:00
push.c push: use skip_prefix() instead of starts_with() 2019-11-27 11:18:39 +09:00
range-diff.c range-diff: clear other_arg at end of function 2019-12-06 12:36:53 -08:00
read-tree.c sparse-checkout: update working directory in-process 2019-11-22 16:11:44 +09:00
rebase.c builtin/rebase: compute checkout metadata for rebases 2020-03-16 11:37:02 -07:00
receive-pack.c receive.denyCurrentBranch: respect all worktrees 2020-02-24 11:14:43 -08:00
reflog.c C: use skip_prefix() to avoid hardcoded string length 2020-01-31 13:03:45 -08:00
remote-ext.c
remote-fd.c
remote.c remote rename/remove: gently handle remote.pushDefault config 2020-02-10 10:52:10 -08:00
repack.c Merge branch 'wb/midx-progress' 2019-11-10 18:02:14 +09:00
replace.c sha1-file: pass git_hash_algo to hash_object_file() 2020-01-31 10:45:39 -08:00
rerere.c
reset.c builtin/reset: compute checkout metadata for reset 2020-03-16 11:37:02 -07:00
rev-list.c rev-list --count: comment on the use of count_right++ 2020-02-18 13:21:46 -08:00
rev-parse.c rev-parse: make --show-toplevel without a worktree an error 2019-11-20 10:19:58 +09:00
revert.c Merge branch 'ra/cherry-pick-revert-skip' 2019-07-19 11:30:21 -07:00
rm.c rm: support the --pathspec-from-file option 2020-02-19 10:56:49 -08:00
send-pack.c
shortlog.c
show-branch.c use strpbrk(3) to search for characters from a given set 2020-02-24 09:30:31 -08:00
show-index.c builtin/show-index: replace sha1_to_hex 2019-08-19 15:04:59 -07:00
show-ref.c Merge branch 'en/unicode-in-refnames' 2019-05-19 16:45:30 +09:00
sparse-checkout.c Merge branch 'ds/sparse-add' 2020-03-05 10:43:02 -08:00
stash.c Merge branch 'am/pathspec-f-f-more' 2020-03-09 11:21:19 -07:00
stripspace.c
submodule--helper.c Merge branch 'es/recursive-single-branch-clone' 2020-03-05 10:43:03 -08:00
symbolic-ref.c
tag.c tag: add tag.gpgSign config option to force all tags be GPG-signed 2019-06-05 14:39:28 -07:00
unpack-file.c
unpack-objects.c sha1-file: pass git_hash_algo to hash_object_file() 2020-01-31 10:45:39 -08:00
update-index.c Merge branch 'js/update-index-ignore-removal-for-skip-worktree' 2019-11-10 18:02:16 +09:00
update-ref.c
update-server-info.c
upload-archive.c
upload-pack.c builtin: consistently pass cmd_* prefix to parse_options 2019-05-13 14:22:53 +09:00
var.c
verify-commit.c Merge branch 'jk/no-system-includes-in-dot-c' 2019-07-31 14:38:56 -07:00
verify-pack.c
verify-tag.c verify-tag: drop signal.h include 2019-06-19 08:19:21 -07:00
worktree.c worktree: don't allow "add" validation to be fooled by suffix matching 2020-02-24 13:05:07 -08:00
write-tree.c cmd_{read,write}_tree: rename "unused" variable that is used 2019-05-13 14:22:53 +09:00