commit-graph: close_commit_graph before shallow walk
authorDerrick Stolee <dstolee@microsoft.com>
Mon, 20 Aug 2018 18:24:34 +0000 (18:24 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 21 Aug 2018 17:22:51 +0000 (10:22 -0700)
commit829a321569d8e8f2c582aef9f0c990df976ab842
tree0a8493cc8e0ee313e35f2c4a84f30698229ffaa7
parent5cef295f283e84351a104c66f949a53a56297aa7
commit-graph: close_commit_graph before shallow walk

Call close_commit_graph() when about to start a rev-list walk that
includes shallow commits. This is necessary in code paths that "fake"
shallow commits for the sake of fetch. Specifically, test 351 in
t5500-fetch-pack.sh runs

git fetch --shallow-exclude one origin

with a file-based transfer. When the "remote" has a commit-graph, we do
not prevent the commit-graph from being loaded, but then the commits are
intended to be dynamically transferred into shallow commits during
get_shallow_commits_by_rev_list(). By closing the commit-graph before
this call, we prevent this interaction.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
commit-graph.c
commit-graph.h
upload-pack.c