aboutsummaryrefslogtreecommitdiff
path: root/fetch-pack.c
diff options
context:
space:
mode:
Diffstat (limited to 'fetch-pack.c')
-rw-r--r--fetch-pack.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/fetch-pack.c b/fetch-pack.c
index 9f8f980516..6ecd468ef7 100644
--- a/fetch-pack.c
+++ b/fetch-pack.c
@@ -293,11 +293,14 @@ static int next_flush(int stateless_rpc, int count)
static void mark_tips(struct fetch_negotiator *negotiator,
const struct oid_array *negotiation_tips)
{
+ struct refs_for_each_ref_options opts = {
+ .flags = REFS_FOR_EACH_INCLUDE_BROKEN,
+ };
int i;
if (!negotiation_tips) {
- refs_for_each_rawref(get_main_ref_store(the_repository),
- rev_list_insert_ref_oid, negotiator);
+ refs_for_each_ref_ext(get_main_ref_store(the_repository),
+ rev_list_insert_ref_oid, negotiator, &opts);
return;
}
@@ -793,8 +796,12 @@ static void mark_complete_and_common_ref(struct fetch_negotiator *negotiator,
*/
trace2_region_enter("fetch-pack", "mark_complete_local_refs", NULL);
if (!args->deepen) {
- refs_for_each_rawref(get_main_ref_store(the_repository),
- mark_complete_oid, NULL);
+ struct refs_for_each_ref_options opts = {
+ .flags = REFS_FOR_EACH_INCLUDE_BROKEN,
+ };
+
+ refs_for_each_ref_ext(get_main_ref_store(the_repository),
+ mark_complete_oid, NULL, &opts);
for_each_cached_alternate(NULL, mark_alternate_complete);
if (cutoff)
mark_recent_complete_commits(args, cutoff);