Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues
Report generation date: 2024-09-08

Project overview: git

High level conclusions

Reachability and coverage overview

Functions statically reachable by fuzzers
49.0%
4695 / 9668
Cyclomatic complexity statically reachable by fuzzers
49.0%
29728 / 60239
Runtime code coverage of functions
17.0%
1680 / 9668

Fuzzers overview

Fuzzer Fuzzer filename Functions Reached Functions unreached Fuzzer depth Files reached Basic blocks reached Cyclomatic complexity Details
fuzz-pack-idx git/oss-fuzz/fuzz-pack-idx.c 128 9746 25 25 814 439 fuzz-pack-idx.c
fuzz-commit-graph git/oss-fuzz/fuzz-commit-graph.c 259 9615 23 63 1801 869 fuzz-commit-graph.c
fuzz-config git/oss-fuzz/fuzz-config.c 164 9711 27 27 1272 620 fuzz-config.c
fuzz-url-decode-mem git/oss-fuzz/fuzz-url-decode-mem.c 134 9740 26 25 822 449 fuzz-url-decode-mem.c
fuzz-date git/oss-fuzz/fuzz-date.c 171 9703 26 25 1578 745 fuzz-date.c
fuzz-cmd-bundle-verify git/oss-fuzz/fuzz-cmd-bundle-verify.c 2357 7527 48 187 32237 13090 fuzz-cmd-bundle-verify.c
git/oss-fuzz/fuzz-cmd-status.c git/oss-fuzz/fuzz-cmd-status.c 4330 5555 49 252 66258 26090 fuzz-cmd-status.c
git/oss-fuzz/fuzz-cmd-version.c git/oss-fuzz/fuzz-cmd-version.c 202 9672 31 28 2150 925 fuzz-cmd-version.c
fuzz-cmd-diff git/oss-fuzz/fuzz-cmd-diff.c 4492 5395 49 265 69395 27184 fuzz-cmd-diff.c
git/oss-fuzz/fuzz-cmd-tag-create.c git/oss-fuzz/fuzz-cmd-tag-create.c 4401 5484 49 259 67459 26545 fuzz-cmd-tag-create.c
fuzz-url-end-with-slash git/oss-fuzz/fuzz-url-end-with-slash.c 128 9746 27 24 779 426 fuzz-url-end-with-slash.c
fuzz-pack-headers git/oss-fuzz/fuzz-pack-headers.c 128 9746 25 24 786 426 fuzz-pack-headers.c
git/oss-fuzz/fuzz-command.c git/oss-fuzz/fuzz-command.c 4663 5221 49 271 72751 28460 fuzz-command.c
fuzz-credential-from-url-gently git/oss-fuzz/fuzz-credential-from-url-gently.c 143 9731 27 27 949 503 fuzz-credential-from-url-gently.c
git/oss-fuzz/fuzz-cmd-unpack-objects.c git/oss-fuzz/fuzz-cmd-unpack-objects.c 2371 7513 48 185 32439 13148 fuzz-cmd-unpack-objects.c
fuzz-parse-attr-line git/oss-fuzz/fuzz-parse-attr-line.c 161 9713 26 28 1097 562 fuzz-parse-attr-line.c
git/oss-fuzz/fuzz-cmd-apply-check.c git/oss-fuzz/fuzz-cmd-apply-check.c 2723 7161 48 195 39037 15716 fuzz-cmd-apply-check.c

Fuzzer details

Fuzzer: fuzz-pack-idx

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 245 90.4%
gold [1:9] 0 0.0%
yellow [10:29] 2 0.73%
greenyellow [30:49] 3 1.10%
lawngreen 50+ 21 7.74%
All colors 271 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
2 2 1 :

['abort']

2 2 vreportf call site: 00024 /src/git/usage.c:16
0 0 None 12 12 xwrite call site: 00033 /src/git/wrapper.c:250
0 0 1 :

['_.51873']

2 23 vreportf call site: 00027 /src/git/usage.c:22
0 0 None 2 18 write_in_full call site: 00033 /src/git/wrapper.c:311
0 0 None 2 2 _ call site: 00028 /src/git/./gettext.h:48
0 0 None 2 2 _ call site: 00028 /src/git/./gettext.h:50
0 0 None 0 10 load_idx call site: 00003 /src/git/packfile.c:126
0 0 None 0 0 write_in_full call site: 00033 /src/git/wrapper.c:309

Runtime coverage analysis

Covered functions
14
Functions that are reachable but not covered
115
Reachable functions
128
Percentage of reachable functions covered
10.16%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
git/oss-fuzz/fuzz-pack-idx.c 1
git/packfile.c 1
git/usage.c 7
git/./git-compat-util.h 4
git/./compat/bswap.h 2
git/common-main.c 2
git/./gettext.h 1
git/wrapper.c 10
git/trace2.c 4
git/trace2/tr2_dst.c 10
git/trace2/tr2_sysenv.c 2
git/./abspath.h 1
git/abspath.c 1
git/trace2/tr2_sid.c 3
git/./strbuf.h 4
git/strbuf.c 9
git/parse.c 4
git/trace2/tr2_tbuf.c 1
git/hex.c 1
git/compat/strlcpy.c 1
git/compat/linux/procinfo.c 4
git/compat/fopen.c 1
git/strvec.c 4
git/trace.c 3
git/trace2/tr2_tls.c 1

Fuzzer: fuzz-commit-graph

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 353 63.1%
gold [1:9] 17 3.04%
yellow [10:29] 25 4.47%
greenyellow [30:49] 28 5.00%
lawngreen 50+ 136 24.3%
All colors 559 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
414 416 3 :

['die', 'error', 'const_error.52762']

414 416 memory_limit_check call site: 00006 /src/git/wrapper.c:26
28 28 1 :

['git_configset_clear']

60 659 repo_clear call site: 00463 /src/git/repository.c:344
25 25 1 :

['submodule_cache_free']

32 631 repo_clear call site: 00480 /src/git/repository.c:349
23 23 1 :

['clear_pattern_list']

27 33 release_index call site: 00516 /src/git/read-cache.c:2466
3 3 1 :

['promisor_remote_clear']

7 106 repo_clear call site: 00496 /src/git/repository.c:359
2 2 1 :

['abort']

2 2 vreportf call site: 00034 /src/git/usage.c:16
0 0 None 836 1280 validate_cache_entries call site: 00499 /src/git/read-cache.c:2494
0 0 None 425 425 free_untracked_cache call site: 00516 /src/git/dir.c:3687
0 0 None 416 833 xrealloc call site: 00079 /src/git/wrapper.c:131
0 0 None 414 416 do_xmalloc call site: 00005 /src/git/wrapper.c:53
0 0 None 414 414 xcalloc call site: 00258 /src/git/wrapper.c:152
0 0 None 16 22 close_commit_graph call site: 00457 /src/git/commit-graph.c:834

Runtime coverage analysis

Covered functions
87
Functions that are reachable but not covered
174
Reachable functions
259
Percentage of reachable functions covered
32.82%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
git/oss-fuzz/fuzz-commit-graph.c 1
git/repository.c 5
git/object.c 6
git/wrapper.c 12
git/parse.c 4
git/./gettext.h 1
git/usage.c 7
git/common-main.c 2
git/trace2.c 4
git/trace2/tr2_dst.c 10
git/trace2/tr2_sysenv.c 2
git/./abspath.h 1
git/./git-compat-util.h 6
git/abspath.c 1
git/trace2/tr2_sid.c 3
git/./strbuf.h 4
git/strbuf.c 9
git/trace2/tr2_tbuf.c 1
git/hex.c 1
git/compat/strlcpy.c 1
git/compat/linux/procinfo.c 4
git/compat/fopen.c 1
git/strvec.c 4
git/trace.c 3
git/trace2/tr2_tls.c 1
git/hashmap.c 6
git/./object-store-ll.h 1
git/remote.c 7
git/alloc.c 2
git/commit.c 11
git/read-cache.c 5
git/object-file.c 2
git/commit-graph.c 11
git/./compat/bswap.h 4
git/chunk-format.c 6
git/./hash.h 3
git/bloom.c 5
git/oidmap.c 1
git/oidtree.c 2
git/mem-pool.c 4
git/./cbtree.h 1
git/loose.c 1
git/./khash.h 5
git/./object-store.h 2
git/packfile.c 7
git/oidset.c 2
git/midx.c 1
git/tree.c 1
git/tag.c 1
git/statinfo.c 1
git/config.c 1
git/./hashmap.h 1
git/string-list.c 1
git/submodule-config.c 3
git/resolve-undo.c 1
git/name-hash.c 1
git/cache-tree.c 1
git/split-index.c 1
git/dir.c 4
git/promisor-remote.c 1
git/refspec.c 1
git/refs.c 1
git/strmap.c 2

Fuzzer: fuzz-config

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 261 75.4%
gold [1:9] 13 3.75%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 72 20.8%
All colors 346 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
429 429 1 :

['rehash']

429 429 hashmap_add call site: 00279 /src/git/hashmap.c:246
416 416 3 :

['die', 'error', 'const_error.52762']

416 416 memory_limit_check call site: 00064 /src/git/wrapper.c:26
414 414 1 :

['BUG_fl']

414 414 config_buf_ungetc call site: 00000 /src/git/config.c:111
414 414 2 :

['die', '_.47116']

414 414 strbuf_vaddf call site: 00119 /src/git/strbuf.c:415
414 414 1 :

['BUG_fl']

414 414 strbuf_setlen call site: 00091 /src/git/./strbuf.h:166
0 0 None 830 3858 git_parse_source call site: 00284 /src/git/config.c:1061
0 0 None 830 3353 git_parse_source call site: 00284 /src/git/config.c:1066
0 0 None 429 431 hashmap_add call site: 00277 /src/git/hashmap.c:235
0 0 None 416 833 xrealloc call site: 00060 /src/git/wrapper.c:131
0 0 None 414 414 xcalloc call site: 00263 /src/git/wrapper.c:152
0 0 None 2 2 _ call site: 00018 /src/git/./gettext.h:48
0 0 None 2 2 _ call site: 00018 /src/git/./gettext.h:50

Runtime coverage analysis

Covered functions
45
Functions that are reachable but not covered
122
Reachable functions
164
Percentage of reachable functions covered
25.61%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
git/oss-fuzz/fuzz-config.c 2
git/config.c 11
git/strbuf.c 12
git/usage.c 7
git/common-main.c 2
git/./gettext.h 1
git/wrapper.c 11
git/trace2.c 4
git/trace2/tr2_dst.c 10
git/trace2/tr2_sysenv.c 2
git/./abspath.h 1
git/./git-compat-util.h 6
git/abspath.c 1
git/trace2/tr2_sid.c 3
git/./strbuf.h 4
git/parse.c 4
git/trace2/tr2_tbuf.c 1
git/hex.c 1
git/compat/strlcpy.c 1
git/compat/linux/procinfo.c 4
git/compat/fopen.c 1
git/strvec.c 4
git/trace.c 3
git/trace2/tr2_tls.c 1
git/./hashmap.h 2
git/hashmap.c 10
git/./sane-ctype.h 1

Fuzzer: fuzz-url-decode-mem

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 238 87.8%
gold [1:9] 3 1.10%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 30 11.0%
All colors 271 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
416 416 3 :

['die', 'error', 'const_error.52762']

416 416 memory_limit_check call site: 00071 /src/git/wrapper.c:26
414 414 1 :

['BUG_fl']

414 414 strbuf_setlen call site: 00059 /src/git/./strbuf.h:166
0 0 None 416 833 xrealloc call site: 00067 /src/git/wrapper.c:131
0 0 None 0 0 strbuf_setlen call site: 00060 /src/git/./strbuf.h:169
0 0 None 0 0 xrealloc call site: 00096 /src/git/wrapper.c:138

Runtime coverage analysis

Covered functions
20
Functions that are reachable but not covered
114
Reachable functions
134
Percentage of reachable functions covered
14.93%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
git/oss-fuzz/fuzz-url-decode-mem.c 1
git/url.c 6
git/strbuf.c 10
git/usage.c 7
git/common-main.c 2
git/./gettext.h 1
git/wrapper.c 10
git/trace2.c 4
git/trace2/tr2_dst.c 10
git/trace2/tr2_sysenv.c 2
git/./abspath.h 1
git/./git-compat-util.h 4
git/abspath.c 1
git/trace2/tr2_sid.c 3
git/./strbuf.h 4
git/parse.c 4
git/trace2/tr2_tbuf.c 1
git/hex.c 1
git/compat/strlcpy.c 1
git/compat/linux/procinfo.c 4
git/compat/fopen.c 1
git/strvec.c 4
git/trace.c 3
git/trace2/tr2_tls.c 1
git/./hex-ll.h 2

Fuzzer: fuzz-date

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 259 61.9%
gold [1:9] 3 0.71%
yellow [10:29] 14 3.34%
greenyellow [30:49] 2 0.47%
lawngreen 50+ 140 33.4%
All colors 418 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
440 440 1 :

['strbuf_addftime']

440 440 show_date call site: 00387 /src/git/date.c:362
416 416 3 :

['die', 'error', 'const_error.52762']

416 416 memory_limit_check call site: 00063 /src/git/wrapper.c:26
414 414 1 :

['BUG_fl']

414 414 date_mode_from_type call site: 00331 /src/git/date.c:213
414 414 1 :

['die']

414 414 local_tzoffset call site: 00340 /src/git/date.c:116
414 414 1 :

['die']

414 414 gm_time_t call site: 00377 /src/git/date.c:61
414 414 2 :

['die', '_.47116']

414 414 strbuf_vaddf call site: 00119 /src/git/strbuf.c:415
414 414 1 :

['BUG_fl']

414 414 strbuf_setlen call site: 00090 /src/git/./strbuf.h:166
2 2 1 :

['atoi']

2 2 get_time call site: 00302 /src/git/date.c:127
0 0 None 440 2961 show_date call site: 00373 /src/git/date.c:328
0 0 None 416 833 xrealloc call site: 00059 /src/git/wrapper.c:131
0 0 None 416 416 do_xmalloc call site: 00062 /src/git/wrapper.c:53
0 0 None 2 177 parse_date_basic call site: 00257 /src/git/date.c:884

Runtime coverage analysis

Covered functions
64
Functions that are reachable but not covered
115
Reachable functions
171
Percentage of reachable functions covered
32.75%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
git/oss-fuzz/fuzz-date.c 1
git/wrapper.c 13
git/usage.c 7
git/./git-compat-util.h 5
git/common-main.c 2
git/./gettext.h 2
git/trace2.c 4
git/trace2/tr2_dst.c 10
git/trace2/tr2_sysenv.c 2
git/./abspath.h 1
git/abspath.c 1
git/trace2/tr2_sid.c 3
git/./strbuf.h 4
git/strbuf.c 12
git/parse.c 4
git/trace2/tr2_tbuf.c 1
git/hex.c 1
git/compat/strlcpy.c 1
git/compat/linux/procinfo.c 4
git/compat/fopen.c 1
git/strvec.c 4
git/trace.c 3
git/trace2/tr2_tls.c 1
git/date.c 32
git/./sane-ctype.h 1

Fuzzer: fuzz-cmd-bundle-verify

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 7694 89.0%
gold [1:9] 87 1.00%
yellow [10:29] 8 0.09%
greenyellow [30:49] 1 0.01%
lawngreen 50+ 854 9.87%
All colors 8644 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
12406 12406 4 :

['string_list_insert', '_.30202', 'string_list_lookup', 'advise']

12406 12406 find_hook call site: 00000 /src/git/hook.c:34
12373 12375 8 :

['_.34973', 'check_object_signature', 'const_error.34974', 'free', 'error', 'oid_to_hex', 'free_tree_buffer', 'parse_object_buffer']

12373 12375 parse_object_with_flags call site: 03610 /src/git/object.c:340
12371 12371 3 :

['die', 'ref_transaction_abort', '_.40984']

12371 12371 ref_transaction_prepare call site: 00000 /src/git/refs.c:2228
12343 13210 6 :

['string_list_insert', 'strbuf_addf', 'string_list_has_string', 'BUG_fl', 'strcmp', 'ref_transaction_add_update']

12343 13210 split_head_update call site: 00000 /src/git/refs/files-backend.c:2375
11944 11944 1 :

['split_symref_update']

23885 26433 lock_ref_for_update call site: 00000 /src/git/refs/files-backend.c:2574
11926 11926 1 :

['lookup_commit_in_graph']

37181 72958 parse_object_with_flags call site: 03337 /src/git/object.c:312
11922 23842 4 :

['__errno_location', 'mkdir', 'get_shared_repository', 'safe_create_leading_directories_const']

15712 46786 cmd_init_db call site: 00685 /src/git/builtin/init-db.c:120
11919 11919 1 :

['git_config_from_blob_ref']

11919 11926 config_with_options call site: 00811 /src/git/config.c:2170
11919 11919 1 :

['git_die_config']

11919 11919 repo_config_get_string call site: 01271 /src/git/config.c:2613
11919 11919 1 :

['git_die_config']

11919 11919 repo_config_get_string_tmp call site: 01341 /src/git/config.c:2624
6409 8563 21 :

['const_error.32865', 'die', 'init_chunkfile', 'trace2_data_intmax_fl', 'strcmp', 'read_chunk', 'oid_version', 'pair_chunk', 'error_errno', 'memchr', 'strlen', 'st_add.32868', 'git_env_bool', 'error', 'xcalloc', 'xsize_t.32866', 'xmmap', 'read_table_of_contents', '_.32852', 'get_be32.32869', 'fstat64']

6415 8575 load_multi_pack_index_one call site: 01735 /src/git/midx.c:113
5338 6251 14 :

['usage_with_options', 'check_typos', 'parse_nodash_opt', 'BUG_fl', 'parse_subcommand', 'strcmp', 'parse_short_opt', 'error', 'const_error.37294', 'parse_long_opt.37379', '_.37277', 'show_gitcomp', 'xstrdup', 'usage_with_options_internal']

5338 6251 parse_options_step call site: 00374 /src/git/parse-options.c:846

Runtime coverage analysis

Covered functions
542
Functions that are reachable but not covered
1900
Reachable functions
2357
Percentage of reachable functions covered
19.39%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
git/oss-fuzz/fuzz-cmd-bundle-verify.c 1
git/oss-fuzz/fuzz-cmd-base.c 3
git/repository.c 16
git/object.c 18
git/wrapper.c 38
git/parse.c 9
git/./gettext.h 2
git/usage.c 18
git/common-main.c 2
git/trace2.c 21
git/trace2/tr2_dst.c 10
git/trace2/tr2_sysenv.c 2
git/./abspath.h 1
git/./git-compat-util.h 26
git/abspath.c 13
git/trace2/tr2_sid.c 3
git/./strbuf.h 12
git/strbuf.c 43
git/trace2/tr2_tbuf.c 1
git/hex.c 11
git/compat/strlcpy.c 1
git/compat/linux/procinfo.c 4
git/compat/fopen.c 1
git/strvec.c 8
git/trace.c 16
git/trace2/tr2_tls.c 7
git/hashmap.c 22
git/./object-store-ll.h 4
git/remote.c 46
git/alloc.c 9
git/commit.c 48
git/read-cache.c 62
git/object-file.c 71
git/builtin/init-db.c 2
git/parse-options.c 33
git/string-list.c 11
git/utf8.c 28
git/environment.c 18
git/./config.h 8
git/config.c 87
git/./hashmap.h 7
git/./sane-ctype.h 2
git/object-name.c 55
git/./hex-ll.h 2
git/./hash.h 15
git/refs.c 29
git/refs/debug.c 1
git/./trace.h 1
git/path.c 42
git/refs/files-backend.c 1
git/refs/../git-compat-util.h 1
git/refs/../strbuf.h 2
git/refspec.c 8
git/./dir.h 1
git/./path.h 4
git/advice.c 7
git/color.c 12
git/pager.c 2
git/editor.c 1
git/urlmatch.c 3
git/quote.c 10
git/./object-store.h 4
git/dir.c 68
git/oidtree.c 6
git/./cbtree.h 1
git/mem-pool.c 6
git/hex-ll.c 1
git/cbtree.c 6
git/packfile.c 71
git/midx.c 25
git/repo-settings.c 3
git/./compat/bswap.h 6
git/chunk-format.c 6
git/compat/qsort_s.c 2
git/compat/../git-compat-util.h 1
git/./list.h 8
git/hash-lookup.c 3
git/oid-array.c 6
git/./oid-array.h 1
git/object-file-convert.c 6
git/loose.c 10
git/./khash.h 9
git/./replace-object.h 1
git/replace-object.c 5
git/oidmap.c 5
git/./oidset.h 3
git/oidset.c 4
git/git-zlib.c 12
zlib/inflate.c 10
zlib/crc32.c 5
zlib/adler32.c 2
zlib/inftrees.c 1
zlib/inffast.c 1
git/submodule.c 8
git/promisor-remote.c 11
git/run-command.c 42
git/commit-graph.c 51
git/bloom.c 5
git/exec-cmd.c 3
git/sigchain.c 4
git/symlinks.c 8
git/pack-revindex.c 10
git/pack-check.c 1
git/patch-delta.c 1
git/./delta.h 1
git/gpg-interface.c 10
git/./object.h 3
git/pretty.c 31
git/compat/nonblock.c 1
git/./read-cache-ll.h 3
git/shallow.c 3
git/statinfo.c 5
git/streaming.c 6
git/blob.c 2
git/tree.c 6
git/tag.c 6
git/diff.c 1
git/revision.c 3
git/log-tree.c 11
git/./refs.h 1
git/wildmatch.c 2
git/decorate.c 5
git/reflog-walk.c 3
git/date.c 31
git/ident.c 3
git/mailmap.c 9
git/./utf8.h 1
git/trailer.c 30
git/wt-status.c 1
git/./commit.h 1
git/setup.c 37
git/sparse-index.c 18
git/cache-tree.c 16
git/bulk-checkin.c 13
git/./write-or-die.h 1
git/tmp-objdir.c 14
git/strmap.c 7
git/submodule-config.c 32
git/resolve-undo.c 3
git/name-hash.c 29
git/split-index.c 11
zlib/deflate.c 16
zlib/trees.c 20
git/write-or-die.c 4
git/trace2/tr2_ctr.c 1
git/./lockfile.h 5
git/lockfile.c 5
git/tempfile.c 13
git/./tempfile.h 3
git/csum-file.c 13
git/progress.c 5
git/pack-write.c 21
git/./csum-file.h 2
git/./pack-objects.h 1
git/thread-utils.c 2
git/./tree.h 1
git/tree-walk.c 17
git/./tree-walk.h 2
git/./pathspec.h 2
git/pathspec.c 1
git/attr.c 38
git/fsmonitor.c 16
git/fsmonitor-settings.c 11
git/fsmonitor-ipc.c 2
git/./run-command.h 1
git/convert.c 30
git/sub-process.c 8
git/pkt-line.c 19
git/./pkt-line.h 1
git/fsck.c 21
git/url.c 4
git/./convert.h 1
git/./fsmonitor.h 2
git/ewah/ewah_bitmap.c 4
git/ewah/ewah_io.c 1
git/varint.c 1
git/ewah/ewok_rlw.h 3
git/chdir-notify.c 2
git/worktree.c 10
git/copy.c 2
git/ws.c 1
git/./wrapper.h 1
git/trace2/tr2_cfg.c 3
git/builtin/bundle.c 3
git/bundle.c 8
git/list-objects-filter-options.c 11
git/connected.c 1

Fuzzer: git/oss-fuzz/fuzz-cmd-status.c

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 14971 81.8%
gold [1:9] 184 1.00%
yellow [10:29] 33 0.18%
greenyellow [30:49] 28 0.15%
lawngreen 50+ 3076 16.8%
All colors 18292 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
90209 103443 22 :

['run_parallel_checkout', 'setup_collided_checkout_detection', 'should_update_submodules', 'remove_scheduled_dirs', 'BUG_fl', 'finish_delayed_checkout', 'unlink_entry', 'must_checkout', 'git_attr_set_direction', 'stop_progress.51294', 'load_gitmodules_file', 'init_parallel_checkout', 'pc_queue_size', 'enable_delayed_checkout', 'invalidate_lstat_cache', 'prefetch_cache_entries', 'get_parallel_checkout_configs', 'checkout_entry.51272', 'report_collided_checkout', 'display_progress', 'repo_has_promisor_remote', 'get_progress']

90667 104627 check_updates call site: 11308 /src/git/unpack-trees.c:439
83907 88764 18 :

['strbuf_addf', 'trace2_region_leave_fl', 'fsm_settings__get_hook_path', 'trace2_data_intmax_fl', 'strbuf_release', 'trace2_region_enter_fl', 'fsmonitor_refresh_callback', 'strbuf_addstr.28473', 'strbuf_detach', 'fsmonitor_hook_version', 'free', 'fsmonitor_ipc__send_query', 'trace_performance_fl', 'getnanotime', 'trace_pass_fl.28450', 'trace_printf_key_fl', 'warning', 'query_fsmonitor_hook']

83907 88764 refresh_fsmonitor call site: 06337 /src/git/fsmonitor.c:526
48997 62846 14 :

['find_short_object_filename', 'oid_array_for_each', 'advise', '_.34741', 'const_error.34770', 'oid_array_clear', 'strbuf_release', 'error', 'BUG_fl', 'finish_object_disambiguation', 'reprepare_packed_git', 'find_short_packed_object', 'repo_for_each_abbrev', 'sort_ambiguous_oid_array']

48997 62846 get_short_oid call site: 01553 /src/git/object-name.c:563
40757 56278 3 :

['do_diff_combined', 'do_remerge_diff', 'show_log']

40757 101411 log_tree_diff call site: 17234 /src/git/log-tree.c:1095
37619 40662 17 :

['filter_string_list', 'longest_ancestor_length', 'ensure_valid_ownership', 'strbuf_setlen.46097', 'git_is_dir_sep.46170', 'string_list_clear', 'xstrdup', 'string_list_split', 'read_gitfile_gently', 'trace2_data_string_fl', 'git_env_bool', 'get_allowed_bare_repo', 'free', 'get_device_or_die', 'strbuf_addch.46103', 'is_implicit_bare_repo', 'is_git_directory']

37619 40662 setup_git_directory_gently_1 call site: 09304 /src/git/setup.c:1442
36869 61652 13 :

['strlen', 'oidcpy.34760', 'refs_head_ref', 'get_main_ref_store', 'diagnose_invalid_index_path', 'free_commit_list', 'memcmp', 'index_name_pos', 'commit_list_sort_by_date', 'repo_read_index', 'refs_for_each_ref', 'reject_tree_in_index', 'get_oid_oneline']

37484 62681 get_oid_with_context_1 call site: 04568 /src/git/object-name.c:2024
36811 49160 9 :

['get_tree_entry_follow_symlinks', 'die', 'resolve_relative_path', '_.34741', 'free', 'get_oid_1', 'get_tree_entry', 'xstrdup', 'diagnose_invalid_oid_path']

36811 49160 get_oid_with_context_1 call site: 07665 /src/git/object-name.c:2096
36422 60856 11 :

['find_cache_entry', 'mark_ce_used', 'mark_ce_used_same_name', 'cache_tree_matches_traversal', 'add_same_unmerged', 'is_sparse_directory_entry', 'compare_entry', 'next_cache_entry', 'traverse_trees_recursive', 'unpack_index_entry', 'unpack_single_entry']

36422 61359 unpack_callback call site: 00000 /src/git/unpack-trees.c:1526
30266 30266 2 :

['show_signature', 'show_mergetag']

85697 113822 show_log call site: 14485 /src/git/log-tree.c:824
27075 64589 26 :

['strerror', 'git_bswap32.39661', 'die', 'trace2_data_intmax_fl', 'pthread_create', 'online_cpus', 'ensure_correct_sparsity', 'pthread_join', 'load_index_extensions', 'repo_config_get_index_threads', 'read_ieot_extension', 'load_all_cache_entries', 'xmmap_gently', 'read_eoie_extension', 'prepare_repo_settings', 'fstat64', 'mmap_os_err', 'load_cache_entries_threaded', 'close', 'free', 'xcalloc', 'ensure_full_index', 'oidread.39706', 'munmap', 'xsize_t.39672', 'verify_hdr']

27915 65429 do_read_index call site: 04641 /src/git/read-cache.c:2230
26077 26077 9 :

['get_merge_parent', 'strcmp', 'xfopen', 'reduce_heads_replace', 'die_errno', 'fclose', 'stat64', 'strbuf_getline_lf', 'commit_list_append']

53895 199484 cmd_commit call site: 16285 /src/git/builtin/commit.c:1768
24516 24516 1 :

['copy_or_rename_branch']

25758 25758 cmd_branch call site: 00000 /src/git/builtin/branch.c:912

Runtime coverage analysis

Covered functions
1681
Functions that are reachable but not covered
2865
Reachable functions
4330
Percentage of reachable functions covered
33.83%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
git/oss-fuzz/fuzz-cmd-status.c 1
git/oss-fuzz/fuzz-cmd-base.c 8
git/repository.c 17
git/object.c 26
git/wrapper.c 42
git/parse.c 9
git/./gettext.h 2
git/usage.c 18
git/common-main.c 2
git/trace2.c 22
git/trace2/tr2_dst.c 10
git/trace2/tr2_sysenv.c 2
git/./abspath.h 1
git/./git-compat-util.h 32
git/abspath.c 13
git/trace2/tr2_sid.c 3
git/./strbuf.h 13
git/strbuf.c 52
git/trace2/tr2_tbuf.c 1
git/hex.c 11
git/compat/strlcpy.c 1
git/compat/linux/procinfo.c 4
git/compat/fopen.c 1
git/strvec.c 9
git/trace.c 16
git/trace2/tr2_tls.c 7
git/hashmap.c 23
git/./object-store-ll.h 4
git/remote.c 49
git/alloc.c 10
git/commit.c 91
git/read-cache.c 106
git/object-file.c 77
git/builtin/init-db.c 2
git/parse-options.c 33
git/string-list.c 22
git/utf8.c 30
git/environment.c 24
git/./config.h 11
git/config.c 96
git/./hashmap.h 7
git/./sane-ctype.h 2
git/object-name.c 57
git/./hex-ll.h 2
git/./hash.h 15
git/refs.c 51
git/refs/debug.c 1
git/./trace.h 1
git/path.c 56
git/refs/files-backend.c 1
git/refs/../git-compat-util.h 1
git/refs/../strbuf.h 2
git/refspec.c 8
git/./dir.h 2
git/./path.h 4
git/advice.c 10
git/color.c 18
git/pager.c 13
git/editor.c 4
git/urlmatch.c 3
git/quote.c 14
git/./object-store.h 4
git/dir.c 116
git/oidtree.c 6
git/./cbtree.h 1
git/mem-pool.c 9
git/hex-ll.c 1
git/cbtree.c 6
git/packfile.c 76
git/midx.c 25
git/repo-settings.c 3
git/./compat/bswap.h 7
git/chunk-format.c 9
git/compat/qsort_s.c 2
git/compat/../git-compat-util.h 1
git/./list.h 8
git/hash-lookup.c 3
git/oid-array.c 6
git/./oid-array.h 1
git/object-file-convert.c 6
git/loose.c 10
git/./khash.h 9
git/./replace-object.h 1
git/replace-object.c 5
git/oidmap.c 5
git/./oidset.h 3
git/oidset.c 4
git/git-zlib.c 13
zlib/inflate.c 10
zlib/crc32.c 5
zlib/adler32.c 2
zlib/inftrees.c 1
zlib/inffast.c 1
git/submodule.c 34
git/promisor-remote.c 11
git/run-command.c 56
git/commit-graph.c 101
git/bloom.c 22
git/exec-cmd.c 3
git/sigchain.c 5
git/symlinks.c 15
git/pack-revindex.c 10
git/pack-check.c 1
git/patch-delta.c 1
git/./delta.h 2
git/gpg-interface.c 14
git/./object.h 4
git/pretty.c 61
git/compat/nonblock.c 1
git/./read-cache-ll.h 3
git/shallow.c 3
git/statinfo.c 7
git/streaming.c 7
git/blob.c 2
git/tree.c 10
git/tag.c 8
git/diff.c 181
git/revision.c 138
git/log-tree.c 34
git/./refs.h 1
git/wildmatch.c 2
git/decorate.c 6
git/reflog-walk.c 16
git/date.c 36
git/ident.c 21
git/mailmap.c 12
git/./utf8.h 1
git/trailer.c 34
git/wt-status.c 77
git/./commit.h 2
git/setup.c 52
git/sparse-index.c 18
git/cache-tree.c 21
git/bulk-checkin.c 13
git/./write-or-die.h 1
git/tmp-objdir.c 15
git/strmap.c 15
git/submodule-config.c 33
git/resolve-undo.c 4
git/name-hash.c 30
git/split-index.c 16
zlib/deflate.c 17
zlib/trees.c 20
git/write-or-die.c 5
git/trace2/tr2_ctr.c 1
git/./lockfile.h 11
git/lockfile.c 5
git/tempfile.c 18
git/./tempfile.h 3
git/csum-file.c 13
git/progress.c 13
git/pack-write.c 21
git/./csum-file.h 4
git/./pack-objects.h 1
git/thread-utils.c 2
git/./tree.h 1
git/tree-walk.c 30
git/./tree-walk.h 3
git/./pathspec.h 3
git/pathspec.c 25
git/attr.c 50
git/fsmonitor.c 18
git/fsmonitor-settings.c 11
git/fsmonitor-ipc.c 2
git/./run-command.h 1
git/convert.c 48
git/sub-process.c 8
git/pkt-line.c 21
git/./pkt-line.h 1
git/fsck.c 21
git/url.c 4
git/./convert.h 2
git/./fsmonitor.h 2
git/ewah/ewah_bitmap.c 12
git/ewah/ewah_io.c 3
git/varint.c 2
git/ewah/ewok_rlw.h 6
git/chdir-notify.c 3
git/worktree.c 15
git/copy.c 2
git/ws.c 6
git/./wrapper.h 1
git/trace2/tr2_cfg.c 3
git/builtin/add.c 10
git/add-patch.c 27
git/add-interactive.c 13
git/preload-index.c 3
git/./read-cache.h 3
git/./symlinks.h 1
git/./progress.h 1
git/hook.c 4
git/./setup.h 1
git/alias.c 2
git/compat/terminal.c 11
git/prompt.c 1
git/grep.c 67
git/notes.c 38
git/list-objects-filter-options.c 11
git/refs/iterator.c 6
git/bisect.c 2
git/./list-objects-filter-options.h 1
git/commit-reach.c 16
git/prio-queue.c 7
git/diff-merges.c 12
git/graph.c 46
git/parse-options-cb.c 2
git/./parse-options.h 1
git/diff-lib.c 8
git/unpack-trees.c 43
git/json-writer.c 10
git/./entry.h 1
git/entry.c 18
git/parallel-checkout.c 22
git/diffcore-break.c 4
git/diffcore-delta.c 5
git/userdiff.c 7
git/xdiff-interface.c 12
git/diffcore-rename.c 33
git/./strmap.h 13
git/stable-qsort.c 2
git/diffcore-pickaxe.c 4
git/kwset.c 10
git/notes-cache.c 5
git/diffcore-order.c 5
git/diffcore-rotate.c 1
git/merge-ll.c 7
git/xdiff/xdiffi.c 21
git/xdiff/xprepare.c 11
git/xdiff/xutils.c 15
git/xdiff/xpatience.c 10
git/xdiff/xhistogram.c 8
git/tree-diff.c 12
git/patch-ids.c 9
git/line-log.c 51
git/diff-delta.c 3
git/base85.c 1
git/combine-diff.c 21
git/./pretty.h 1
git/sequencer.c 31
git/builtin/commit.c 31
git/./wt-status.h 2
git/./column.h 1
git/column.c 9
git/./diff.h 1
git/rerere.c 35
git/notes-utils.c 7
git/merge-recursive.c 3
git/merge-ort.c 58
git/match-trees.c 10
git/range-diff.c 11
git/apply.c 7
git/linear-assignment.c 1

Fuzzer: git/oss-fuzz/fuzz-cmd-version.c

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 459 80.2%
gold [1:9] 8 1.39%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 105 18.3%
All colors 572 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
90209 103443 22 :

['run_parallel_checkout', 'setup_collided_checkout_detection', 'should_update_submodules', 'remove_scheduled_dirs', 'BUG_fl', 'finish_delayed_checkout', 'unlink_entry', 'must_checkout', 'git_attr_set_direction', 'stop_progress.51294', 'load_gitmodules_file', 'init_parallel_checkout', 'pc_queue_size', 'enable_delayed_checkout', 'invalidate_lstat_cache', 'prefetch_cache_entries', 'get_parallel_checkout_configs', 'checkout_entry.51272', 'report_collided_checkout', 'display_progress', 'repo_has_promisor_remote', 'get_progress']

90667 104627 check_updates call site: 00000 /src/git/unpack-trees.c:439
83907 88764 18 :

['strbuf_addf', 'trace2_region_leave_fl', 'fsm_settings__get_hook_path', 'trace2_data_intmax_fl', 'strbuf_release', 'trace2_region_enter_fl', 'fsmonitor_refresh_callback', 'strbuf_addstr.28473', 'strbuf_detach', 'fsmonitor_hook_version', 'free', 'fsmonitor_ipc__send_query', 'trace_performance_fl', 'getnanotime', 'trace_pass_fl.28450', 'trace_printf_key_fl', 'warning', 'query_fsmonitor_hook']

83907 88764 refresh_fsmonitor call site: 00000 /src/git/fsmonitor.c:526
48997 62846 14 :

['find_short_object_filename', 'oid_array_for_each', 'advise', '_.34741', 'const_error.34770', 'oid_array_clear', 'strbuf_release', 'error', 'BUG_fl', 'finish_object_disambiguation', 'reprepare_packed_git', 'find_short_packed_object', 'repo_for_each_abbrev', 'sort_ambiguous_oid_array']

48997 62846 get_short_oid call site: 00000 /src/git/object-name.c:563
40757 56278 3 :

['do_diff_combined', 'do_remerge_diff', 'show_log']

40757 101411 log_tree_diff call site: 00000 /src/git/log-tree.c:1095
37619 40662 17 :

['filter_string_list', 'longest_ancestor_length', 'ensure_valid_ownership', 'strbuf_setlen.46097', 'git_is_dir_sep.46170', 'string_list_clear', 'xstrdup', 'string_list_split', 'read_gitfile_gently', 'trace2_data_string_fl', 'git_env_bool', 'get_allowed_bare_repo', 'free', 'get_device_or_die', 'strbuf_addch.46103', 'is_implicit_bare_repo', 'is_git_directory']

37619 40662 setup_git_directory_gently_1 call site: 00000 /src/git/setup.c:1442
36869 61652 13 :

['strlen', 'oidcpy.34760', 'refs_head_ref', 'get_main_ref_store', 'diagnose_invalid_index_path', 'free_commit_list', 'memcmp', 'index_name_pos', 'commit_list_sort_by_date', 'repo_read_index', 'refs_for_each_ref', 'reject_tree_in_index', 'get_oid_oneline']

37484 62681 get_oid_with_context_1 call site: 00000 /src/git/object-name.c:2024
36811 49160 9 :

['get_tree_entry_follow_symlinks', 'die', 'resolve_relative_path', '_.34741', 'free', 'get_oid_1', 'get_tree_entry', 'xstrdup', 'diagnose_invalid_oid_path']

36811 49160 get_oid_with_context_1 call site: 00000 /src/git/object-name.c:2096
36422 60856 11 :

['find_cache_entry', 'mark_ce_used', 'mark_ce_used_same_name', 'cache_tree_matches_traversal', 'add_same_unmerged', 'is_sparse_directory_entry', 'compare_entry', 'next_cache_entry', 'traverse_trees_recursive', 'unpack_index_entry', 'unpack_single_entry']

36422 61359 unpack_callback call site: 00000 /src/git/unpack-trees.c:1526
30266 30266 2 :

['show_signature', 'show_mergetag']

85697 113822 show_log call site: 00000 /src/git/log-tree.c:824
27075 64589 26 :

['strerror', 'git_bswap32.39661', 'die', 'trace2_data_intmax_fl', 'pthread_create', 'online_cpus', 'ensure_correct_sparsity', 'pthread_join', 'load_index_extensions', 'repo_config_get_index_threads', 'read_ieot_extension', 'load_all_cache_entries', 'xmmap_gently', 'read_eoie_extension', 'prepare_repo_settings', 'fstat64', 'mmap_os_err', 'load_cache_entries_threaded', 'close', 'free', 'xcalloc', 'ensure_full_index', 'oidread.39706', 'munmap', 'xsize_t.39672', 'verify_hdr']

27915 65429 do_read_index call site: 00000 /src/git/read-cache.c:2230
26077 26077 9 :

['get_merge_parent', 'strcmp', 'xfopen', 'reduce_heads_replace', 'die_errno', 'fclose', 'stat64', 'strbuf_getline_lf', 'commit_list_append']

53895 199484 cmd_commit call site: 00000 /src/git/builtin/commit.c:1768
24516 24516 1 :

['copy_or_rename_branch']

25758 25758 cmd_branch call site: 00000 /src/git/builtin/branch.c:912

Runtime coverage analysis

Covered functions
1681
Functions that are reachable but not covered
120
Reachable functions
202
Percentage of reachable functions covered
40.59%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
git/oss-fuzz/fuzz-cmd-version.c 1
git/help.c 2
git/parse-options.c 32
git/parse.c 9
git/usage.c 8
git/./gettext.h 1
git/wrapper.c 12
git/trace2.c 4
git/trace2/tr2_dst.c 10
git/trace2/tr2_sysenv.c 2
git/common-main.c 2
git/compat/linux/procinfo.c 4
git/strbuf.c 13
git/./strbuf.h 4
git/./git-compat-util.h 7
git/compat/fopen.c 1
git/strvec.c 4
git/trace.c 3
git/trace2/tr2_tls.c 1
git/./abspath.h 1
git/abspath.c 3
git/trace2/tr2_sid.c 3
git/trace2/tr2_tbuf.c 1
git/hex.c 1
git/compat/strlcpy.c 1
git/string-list.c 4
git/utf8.c 8
git/fsmonitor-ipc.c 1

Fuzzer: fuzz-cmd-diff

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 16330 83.1%
gold [1:9] 176 0.89%
yellow [10:29] 15 0.07%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 3110 15.8%
All colors 19631 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
90209 103443 22 :

['run_parallel_checkout', 'setup_collided_checkout_detection', 'should_update_submodules', 'remove_scheduled_dirs', 'BUG_fl', 'finish_delayed_checkout', 'unlink_entry', 'must_checkout', 'git_attr_set_direction', 'stop_progress.51294', 'load_gitmodules_file', 'init_parallel_checkout', 'pc_queue_size', 'enable_delayed_checkout', 'invalidate_lstat_cache', 'prefetch_cache_entries', 'get_parallel_checkout_configs', 'checkout_entry.51272', 'report_collided_checkout', 'display_progress', 'repo_has_promisor_remote', 'get_progress']

90667 104627 check_updates call site: 11308 /src/git/unpack-trees.c:439
83909 88764 18 :

['strbuf_addf', 'trace2_region_leave_fl', 'fsm_settings__get_hook_path', 'trace2_data_intmax_fl', 'strbuf_release', 'trace2_region_enter_fl', 'fsmonitor_refresh_callback', 'strbuf_addstr.28473', 'strbuf_detach', 'fsmonitor_hook_version', 'free', 'fsmonitor_ipc__send_query', 'trace_performance_fl', 'getnanotime', 'trace_pass_fl.28450', 'trace_printf_key_fl', 'warning', 'query_fsmonitor_hook']

83909 88764 refresh_fsmonitor call site: 06337 /src/git/fsmonitor.c:526
60918 62846 14 :

['find_short_object_filename', 'oid_array_for_each', 'advise', '_.34741', 'const_error.34770', 'oid_array_clear', 'strbuf_release', 'error', 'BUG_fl', 'finish_object_disambiguation', 'reprepare_packed_git', 'find_short_packed_object', 'repo_for_each_abbrev', 'sort_ambiguous_oid_array']

60918 62846 get_short_oid call site: 01555 /src/git/object-name.c:563
40757 56278 3 :

['do_diff_combined', 'do_remerge_diff', 'show_log']

40757 101411 log_tree_diff call site: 17234 /src/git/log-tree.c:1095
37619 40662 17 :

['filter_string_list', 'longest_ancestor_length', 'ensure_valid_ownership', 'strbuf_setlen.46097', 'git_is_dir_sep.46170', 'string_list_clear', 'xstrdup', 'string_list_split', 'read_gitfile_gently', 'trace2_data_string_fl', 'git_env_bool', 'get_allowed_bare_repo', 'free', 'get_device_or_die', 'strbuf_addch.46103', 'is_implicit_bare_repo', 'is_git_directory']

37619 40662 setup_git_directory_gently_1 call site: 09304 /src/git/setup.c:1442
36869 61652 13 :

['strlen', 'oidcpy.34760', 'refs_head_ref', 'get_main_ref_store', 'diagnose_invalid_index_path', 'free_commit_list', 'memcmp', 'index_name_pos', 'commit_list_sort_by_date', 'repo_read_index', 'refs_for_each_ref', 'reject_tree_in_index', 'get_oid_oneline']

37484 62681 get_oid_with_context_1 call site: 04568 /src/git/object-name.c:2024
36811 49160 9 :

['get_tree_entry_follow_symlinks', 'die', 'resolve_relative_path', '_.34741', 'free', 'get_oid_1', 'get_tree_entry', 'xstrdup', 'diagnose_invalid_oid_path']

36811 49160 get_oid_with_context_1 call site: 07665 /src/git/object-name.c:2096
36422 60856 11 :

['find_cache_entry', 'mark_ce_used', 'mark_ce_used_same_name', 'cache_tree_matches_traversal', 'add_same_unmerged', 'is_sparse_directory_entry', 'compare_entry', 'next_cache_entry', 'traverse_trees_recursive', 'unpack_index_entry', 'unpack_single_entry']

36422 61359 unpack_callback call site: 00000 /src/git/unpack-trees.c:1526
30266 30266 2 :

['show_signature', 'show_mergetag']

85697 113822 show_log call site: 14485 /src/git/log-tree.c:824
27075 64589 26 :

['strerror', 'git_bswap32.39661', 'die', 'trace2_data_intmax_fl', 'pthread_create', 'online_cpus', 'ensure_correct_sparsity', 'pthread_join', 'load_index_extensions', 'repo_config_get_index_threads', 'read_ieot_extension', 'load_all_cache_entries', 'xmmap_gently', 'read_eoie_extension', 'prepare_repo_settings', 'fstat64', 'mmap_os_err', 'load_cache_entries_threaded', 'close', 'free', 'xcalloc', 'ensure_full_index', 'oidread.39706', 'munmap', 'xsize_t.39672', 'verify_hdr']

27915 65429 do_read_index call site: 04641 /src/git/read-cache.c:2230
26077 26077 9 :

['get_merge_parent', 'strcmp', 'xfopen', 'reduce_heads_replace', 'die_errno', 'fclose', 'stat64', 'strbuf_getline_lf', 'commit_list_append']

53895 199484 cmd_commit call site: 16285 /src/git/builtin/commit.c:1768
24516 24516 1 :

['copy_or_rename_branch']

25758 25758 cmd_branch call site: 18889 /src/git/builtin/branch.c:912

Runtime coverage analysis

Covered functions
1575
Functions that are reachable but not covered
3088
Reachable functions
4492
Percentage of reachable functions covered
31.26%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
git/oss-fuzz/fuzz-cmd-diff.c 1
git/oss-fuzz/fuzz-cmd-base.c 8
git/repository.c 17
git/object.c 27
git/wrapper.c 43
git/parse.c 9
git/./gettext.h 2
git/usage.c 20
git/common-main.c 2
git/trace2.c 22
git/trace2/tr2_dst.c 10
git/trace2/tr2_sysenv.c 2
git/./abspath.h 1
git/./git-compat-util.h 32
git/abspath.c 13
git/trace2/tr2_sid.c 3
git/./strbuf.h 13
git/strbuf.c 53
git/trace2/tr2_tbuf.c 1
git/hex.c 11
git/compat/strlcpy.c 1
git/compat/linux/procinfo.c 4
git/compat/fopen.c 1
git/strvec.c 9
git/trace.c 16
git/trace2/tr2_tls.c 7
git/hashmap.c 23
git/./object-store-ll.h 4
git/remote.c 54
git/alloc.c 10
git/commit.c 91
git/read-cache.c 106
git/object-file.c 77
git/builtin/init-db.c 2
git/parse-options.c 33
git/string-list.c 22
git/utf8.c 30
git/environment.c 23
git/./config.h 14
git/config.c 103
git/./hashmap.h 7
git/./sane-ctype.h 2
git/object-name.c 60
git/./hex-ll.h 2
git/./hash.h 15
git/refs.c 52
git/refs/debug.c 1
git/./trace.h 1
git/path.c 56
git/refs/files-backend.c 1
git/refs/../git-compat-util.h 1
git/refs/../strbuf.h 2
git/refspec.c 8
git/./dir.h 2
git/./path.h 4
git/advice.c 10
git/color.c 18
git/pager.c 15
git/editor.c 4
git/urlmatch.c 3
git/quote.c 18
git/./object-store.h 4
git/dir.c 116
git/oidtree.c 6
git/./cbtree.h 1
git/mem-pool.c 9
git/hex-ll.c 1
git/cbtree.c 6
git/packfile.c 76
git/midx.c 25
git/repo-settings.c 3
git/./compat/bswap.h 7
git/chunk-format.c 9
git/compat/qsort_s.c 2
git/compat/../git-compat-util.h 1
git/./list.h 8
git/hash-lookup.c 3
git/oid-array.c 6
git/./oid-array.h 1
git/object-file-convert.c 6
git/loose.c 10
git/./khash.h 9
git/./replace-object.h 1
git/replace-object.c 5
git/oidmap.c 5
git/./oidset.h 3
git/oidset.c 4
git/git-zlib.c 13
zlib/inflate.c 10
zlib/crc32.c 5
zlib/adler32.c 2
zlib/inftrees.c 1
zlib/inffast.c 1
git/submodule.c 34
git/promisor-remote.c 11
git/run-command.c 56
git/commit-graph.c 102
git/bloom.c 22
git/exec-cmd.c 3
git/sigchain.c 5
git/symlinks.c 15
git/pack-revindex.c 10
git/pack-check.c 1
git/patch-delta.c 1
git/./delta.h 2
git/gpg-interface.c 14
git/./object.h 4
git/pretty.c 62
git/compat/nonblock.c 1
git/./read-cache-ll.h 3
git/shallow.c 3
git/statinfo.c 7
git/streaming.c 7
git/blob.c 2
git/tree.c 10
git/tag.c 8
git/diff.c 188
git/revision.c 139
git/log-tree.c 34
git/./refs.h 1
git/wildmatch.c 2
git/decorate.c 6
git/reflog-walk.c 16
git/date.c 37
git/ident.c 21
git/mailmap.c 12
git/./utf8.h 1
git/trailer.c 34
git/wt-status.c 77
git/./commit.h 2
git/setup.c 58
git/sparse-index.c 18
git/cache-tree.c 21
git/bulk-checkin.c 13
git/./write-or-die.h 1
git/tmp-objdir.c 15
git/strmap.c 15
git/submodule-config.c 35
git/resolve-undo.c 4
git/name-hash.c 30
git/split-index.c 16
zlib/deflate.c 17
zlib/trees.c 20
git/write-or-die.c 5
git/trace2/tr2_ctr.c 1
git/./lockfile.h 11
git/lockfile.c 5
git/tempfile.c 18
git/./tempfile.h 3
git/csum-file.c 13
git/progress.c 13
git/pack-write.c 21
git/./csum-file.h 4
git/./pack-objects.h 1
git/thread-utils.c 2
git/./tree.h 1
git/tree-walk.c 30
git/./tree-walk.h 3
git/./pathspec.h 3
git/pathspec.c 25
git/attr.c 50
git/fsmonitor.c 18
git/fsmonitor-settings.c 11
git/fsmonitor-ipc.c 2
git/./run-command.h 1
git/convert.c 48
git/sub-process.c 8
git/pkt-line.c 21
git/./pkt-line.h 1
git/fsck.c 21
git/url.c 4
git/./convert.h 2
git/./fsmonitor.h 2
git/ewah/ewah_bitmap.c 12
git/ewah/ewah_io.c 3
git/varint.c 2
git/ewah/ewok_rlw.h 6
git/chdir-notify.c 3
git/worktree.c 17
git/copy.c 2
git/ws.c 6
git/./wrapper.h 1
git/trace2/tr2_cfg.c 3
git/builtin/add.c 10
git/add-patch.c 27
git/add-interactive.c 13
git/preload-index.c 3
git/./read-cache.h 3
git/./symlinks.h 1
git/./progress.h 1
git/hook.c 4
git/./setup.h 1
git/alias.c 2
git/compat/terminal.c 11
git/prompt.c 1
git/grep.c 67
git/notes.c 40
git/list-objects-filter-options.c 11
git/refs/iterator.c 6
git/bisect.c 2
git/./list-objects-filter-options.h 1
git/commit-reach.c 26
git/prio-queue.c 7
git/diff-merges.c 14
git/graph.c 46
git/parse-options-cb.c 2
git/./parse-options.h 1
git/diff-lib.c 8
git/unpack-trees.c 43
git/json-writer.c 10
git/./entry.h 1
git/entry.c 18
git/parallel-checkout.c 22
git/diffcore-break.c 4
git/diffcore-delta.c 5
git/userdiff.c 7
git/xdiff-interface.c 12
git/diffcore-rename.c 33
git/./strmap.h 13
git/stable-qsort.c 2
git/diffcore-pickaxe.c 4
git/kwset.c 10
git/notes-cache.c 5
git/diffcore-order.c 5
git/diffcore-rotate.c 1
git/merge-ll.c 7
git/xdiff/xdiffi.c 21
git/xdiff/xprepare.c 11
git/xdiff/xutils.c 15
git/xdiff/xpatience.c 10
git/xdiff/xhistogram.c 8
git/tree-diff.c 12
git/patch-ids.c 9
git/line-log.c 51
git/diff-delta.c 3
git/base85.c 1
git/combine-diff.c 32
git/./pretty.h 1
git/sequencer.c 33
git/builtin/commit.c 29
git/./wt-status.h 2
git/./column.h 1
git/column.c 13
git/./diff.h 1
git/rerere.c 35
git/notes-utils.c 7
git/merge-recursive.c 3
git/merge-ort.c 58
git/match-trees.c 10
git/range-diff.c 11
git/apply.c 7
git/linear-assignment.c 1
git/builtin/branch.c 17
git/ref-filter.c 67
git/git.c 2
git/branch.c 17
git/./commit-reach.h 3
git/ewah/bitmap.c 9
git/ewah/ewok.h 1
git/versioncmp.c 3
git/builtin/diff.c 12
git/diff-no-index.c 10
git/builtin/diff-files.c 1
git/builtin/diff-tree.c 5
git/builtin/diff-index.c 1

Fuzzer: git/oss-fuzz/fuzz-cmd-tag-create.c

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 15554 82.4%
gold [1:9] 185 0.98%
yellow [10:29] 33 0.17%
greenyellow [30:49] 28 0.14%
lawngreen 50+ 3072 16.2%
All colors 18872 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
90209 103443 22 :

['run_parallel_checkout', 'setup_collided_checkout_detection', 'should_update_submodules', 'remove_scheduled_dirs', 'BUG_fl', 'finish_delayed_checkout', 'unlink_entry', 'must_checkout', 'git_attr_set_direction', 'stop_progress.51294', 'load_gitmodules_file', 'init_parallel_checkout', 'pc_queue_size', 'enable_delayed_checkout', 'invalidate_lstat_cache', 'prefetch_cache_entries', 'get_parallel_checkout_configs', 'checkout_entry.51272', 'report_collided_checkout', 'display_progress', 'repo_has_promisor_remote', 'get_progress']

90667 104627 check_updates call site: 11308 /src/git/unpack-trees.c:439
83907 88764 18 :

['strbuf_addf', 'trace2_region_leave_fl', 'fsm_settings__get_hook_path', 'trace2_data_intmax_fl', 'strbuf_release', 'trace2_region_enter_fl', 'fsmonitor_refresh_callback', 'strbuf_addstr.28473', 'strbuf_detach', 'fsmonitor_hook_version', 'free', 'fsmonitor_ipc__send_query', 'trace_performance_fl', 'getnanotime', 'trace_pass_fl.28450', 'trace_printf_key_fl', 'warning', 'query_fsmonitor_hook']

83907 88764 refresh_fsmonitor call site: 06337 /src/git/fsmonitor.c:526
48997 62846 14 :

['find_short_object_filename', 'oid_array_for_each', 'advise', '_.34741', 'const_error.34770', 'oid_array_clear', 'strbuf_release', 'error', 'BUG_fl', 'finish_object_disambiguation', 'reprepare_packed_git', 'find_short_packed_object', 'repo_for_each_abbrev', 'sort_ambiguous_oid_array']

48997 62846 get_short_oid call site: 01554 /src/git/object-name.c:563
40757 56278 3 :

['do_diff_combined', 'do_remerge_diff', 'show_log']

40757 101411 log_tree_diff call site: 17234 /src/git/log-tree.c:1095
37619 40662 17 :

['filter_string_list', 'longest_ancestor_length', 'ensure_valid_ownership', 'strbuf_setlen.46097', 'git_is_dir_sep.46170', 'string_list_clear', 'xstrdup', 'string_list_split', 'read_gitfile_gently', 'trace2_data_string_fl', 'git_env_bool', 'get_allowed_bare_repo', 'free', 'get_device_or_die', 'strbuf_addch.46103', 'is_implicit_bare_repo', 'is_git_directory']

37619 40662 setup_git_directory_gently_1 call site: 09304 /src/git/setup.c:1442
36869 61652 13 :

['strlen', 'oidcpy.34760', 'refs_head_ref', 'get_main_ref_store', 'diagnose_invalid_index_path', 'free_commit_list', 'memcmp', 'index_name_pos', 'commit_list_sort_by_date', 'repo_read_index', 'refs_for_each_ref', 'reject_tree_in_index', 'get_oid_oneline']

37484 62681 get_oid_with_context_1 call site: 04569 /src/git/object-name.c:2024
36811 49160 9 :

['get_tree_entry_follow_symlinks', 'die', 'resolve_relative_path', '_.34741', 'free', 'get_oid_1', 'get_tree_entry', 'xstrdup', 'diagnose_invalid_oid_path']

36811 49160 get_oid_with_context_1 call site: 07665 /src/git/object-name.c:2096
36422 60856 11 :

['find_cache_entry', 'mark_ce_used', 'mark_ce_used_same_name', 'cache_tree_matches_traversal', 'add_same_unmerged', 'is_sparse_directory_entry', 'compare_entry', 'next_cache_entry', 'traverse_trees_recursive', 'unpack_index_entry', 'unpack_single_entry']

36422 61359 unpack_callback call site: 00000 /src/git/unpack-trees.c:1526
30266 30266 2 :

['show_signature', 'show_mergetag']

85697 113822 show_log call site: 14485 /src/git/log-tree.c:824
27075 64589 26 :

['strerror', 'git_bswap32.39661', 'die', 'trace2_data_intmax_fl', 'pthread_create', 'online_cpus', 'ensure_correct_sparsity', 'pthread_join', 'load_index_extensions', 'repo_config_get_index_threads', 'read_ieot_extension', 'load_all_cache_entries', 'xmmap_gently', 'read_eoie_extension', 'prepare_repo_settings', 'fstat64', 'mmap_os_err', 'load_cache_entries_threaded', 'close', 'free', 'xcalloc', 'ensure_full_index', 'oidread.39706', 'munmap', 'xsize_t.39672', 'verify_hdr']

27915 65429 do_read_index call site: 04642 /src/git/read-cache.c:2230
26077 26077 9 :

['get_merge_parent', 'strcmp', 'xfopen', 'reduce_heads_replace', 'die_errno', 'fclose', 'stat64', 'strbuf_getline_lf', 'commit_list_append']

53895 199484 cmd_commit call site: 16285 /src/git/builtin/commit.c:1768
24516 24516 1 :

['copy_or_rename_branch']

25758 25758 cmd_branch call site: 00000 /src/git/builtin/branch.c:912

Runtime coverage analysis

Covered functions
1681
Functions that are reachable but not covered
2961
Reachable functions
4401
Percentage of reachable functions covered
32.72%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
git/oss-fuzz/fuzz-cmd-tag-create.c 1
git/oss-fuzz/fuzz-cmd-base.c 3
git/repository.c 17
git/object.c 27
git/wrapper.c 42
git/parse.c 9
git/./gettext.h 2
git/usage.c 18
git/common-main.c 2
git/trace2.c 22
git/trace2/tr2_dst.c 10
git/trace2/tr2_sysenv.c 2
git/./abspath.h 1
git/./git-compat-util.h 32
git/abspath.c 13
git/trace2/tr2_sid.c 3
git/./strbuf.h 13
git/strbuf.c 52
git/trace2/tr2_tbuf.c 1
git/hex.c 11
git/compat/strlcpy.c 1
git/compat/linux/procinfo.c 4
git/compat/fopen.c 1
git/strvec.c 9
git/trace.c 16
git/trace2/tr2_tls.c 7
git/hashmap.c 23
git/./object-store-ll.h 4
git/remote.c 52
git/alloc.c 10
git/commit.c 91
git/read-cache.c 102
git/object-file.c 77
git/builtin/init-db.c 2
git/parse-options.c 33
git/string-list.c 22
git/utf8.c 30
git/environment.c 23
git/./config.h 12
git/config.c 96
git/./hashmap.h 7
git/./sane-ctype.h 2
git/object-name.c 57
git/./hex-ll.h 2
git/./hash.h 15
git/refs.c 51
git/refs/debug.c 1
git/./trace.h 1
git/path.c 56
git/refs/files-backend.c 1
git/refs/../git-compat-util.h 1
git/refs/../strbuf.h 2
git/refspec.c 8
git/./dir.h 2
git/./path.h 4
git/advice.c 10
git/color.c 18
git/pager.c 15
git/editor.c 4
git/urlmatch.c 3
git/quote.c 18
git/./object-store.h 4
git/dir.c 116
git/oidtree.c 6
git/./cbtree.h 1
git/mem-pool.c 9
git/hex-ll.c 1
git/cbtree.c 6
git/packfile.c 76
git/midx.c 25
git/repo-settings.c 3
git/./compat/bswap.h 7
git/chunk-format.c 9
git/compat/qsort_s.c 2
git/compat/../git-compat-util.h 1
git/./list.h 8
git/hash-lookup.c 3
git/oid-array.c 6
git/./oid-array.h 1
git/object-file-convert.c 6
git/loose.c 10
git/./khash.h 9
git/./replace-object.h 1
git/replace-object.c 5
git/oidmap.c 5
git/./oidset.h 3
git/oidset.c 4
git/git-zlib.c 13
zlib/inflate.c 10
zlib/crc32.c 5
zlib/adler32.c 2
zlib/inftrees.c 1
zlib/inffast.c 1
git/submodule.c 34
git/promisor-remote.c 11
git/run-command.c 56
git/commit-graph.c 102
git/bloom.c 22
git/exec-cmd.c 3
git/sigchain.c 5
git/symlinks.c 15
git/pack-revindex.c 10
git/pack-check.c 1
git/patch-delta.c 1
git/./delta.h 2
git/gpg-interface.c 14
git/./object.h 4
git/pretty.c 61
git/compat/nonblock.c 1
git/./read-cache-ll.h 3
git/shallow.c 3
git/statinfo.c 7
git/streaming.c 7
git/blob.c 2
git/tree.c 10
git/tag.c 8
git/diff.c 180
git/revision.c 138
git/log-tree.c 34
git/./refs.h 1
git/wildmatch.c 2
git/decorate.c 6
git/reflog-walk.c 16
git/date.c 37
git/ident.c 21
git/mailmap.c 12
git/./utf8.h 1
git/trailer.c 34
git/wt-status.c 77
git/./commit.h 2
git/setup.c 52
git/sparse-index.c 18
git/cache-tree.c 21
git/bulk-checkin.c 13
git/./write-or-die.h 1
git/tmp-objdir.c 15
git/strmap.c 15
git/submodule-config.c 33
git/resolve-undo.c 4
git/name-hash.c 30
git/split-index.c 16
zlib/deflate.c 17
zlib/trees.c 20
git/write-or-die.c 5
git/trace2/tr2_ctr.c 1
git/./lockfile.h 11
git/lockfile.c 5
git/tempfile.c 18
git/./tempfile.h 3
git/csum-file.c 13
git/progress.c 13
git/pack-write.c 21
git/./csum-file.h 4
git/./pack-objects.h 1
git/thread-utils.c 2
git/./tree.h 1
git/tree-walk.c 30
git/./tree-walk.h 3
git/./pathspec.h 3
git/pathspec.c 25
git/attr.c 50
git/fsmonitor.c 18
git/fsmonitor-settings.c 11
git/fsmonitor-ipc.c 2
git/./run-command.h 1
git/convert.c 48
git/sub-process.c 8
git/pkt-line.c 21
git/./pkt-line.h 1
git/fsck.c 21
git/url.c 4
git/./convert.h 2
git/./fsmonitor.h 2
git/ewah/ewah_bitmap.c 12
git/ewah/ewah_io.c 3
git/varint.c 2
git/ewah/ewok_rlw.h 6
git/chdir-notify.c 3
git/worktree.c 15
git/copy.c 2
git/ws.c 6
git/./wrapper.h 1
git/trace2/tr2_cfg.c 3
git/builtin/add.c 10
git/add-patch.c 27
git/add-interactive.c 13
git/preload-index.c 3
git/./read-cache.h 3
git/./symlinks.h 1
git/./progress.h 1
git/hook.c 4
git/./setup.h 1
git/alias.c 2
git/compat/terminal.c 11
git/prompt.c 1
git/grep.c 67
git/notes.c 38
git/list-objects-filter-options.c 11
git/refs/iterator.c 6
git/bisect.c 2
git/./list-objects-filter-options.h 1
git/commit-reach.c 31
git/prio-queue.c 7
git/diff-merges.c 12
git/graph.c 46
git/parse-options-cb.c 2
git/./parse-options.h 1
git/diff-lib.c 8
git/unpack-trees.c 43
git/json-writer.c 10
git/./entry.h 1
git/entry.c 18
git/parallel-checkout.c 22
git/diffcore-break.c 4
git/diffcore-delta.c 5
git/userdiff.c 7
git/xdiff-interface.c 12
git/diffcore-rename.c 33
git/./strmap.h 13
git/stable-qsort.c 2
git/diffcore-pickaxe.c 4
git/kwset.c 10
git/notes-cache.c 5
git/diffcore-order.c 5
git/diffcore-rotate.c 1
git/merge-ll.c 7
git/xdiff/xdiffi.c 21
git/xdiff/xprepare.c 11
git/xdiff/xutils.c 15
git/xdiff/xpatience.c 10
git/xdiff/xhistogram.c 8
git/tree-diff.c 12
git/patch-ids.c 9
git/line-log.c 51
git/diff-delta.c