commit-reach: fix type of `min_commit_date`
The `can_all_from_reach_with_flag()` function accepts a parameter that allows callers to cut off traversal at a specified commit date. This parameter is of type `time_t`, which is a signed type, while we end up comparing it to a commit's `date` field, which is of the unsigned type `timestamp_t`. Fix the parameter to be of type `timestamp_t`. There is only a single caller in "upload-pack.c" that sets this parameter, and that caller knows to pass in a `timestamp_t` already. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Patrick Steinhardt committed
Dec 27, 2024 at 11:46 UTC
04aeeeaab1f02213703c4e1997b2c2f1ca0f8f96
2 files changed
+3
-3
commit-reach.c
+2
-2
@@ -780,7 +780,7 @@ int commit_contains(struct ref_filter *filter, struct commit *commit,
780
int can_all_from_reach_with_flag(struct object_array *from,
781
unsigned int with_flag,
782
unsigned int assign_flag,
783
- time_t min_commit_date,
783
+ timestamp_t min_commit_date,
784
timestamp_t min_generation)
785
{
786
struct commit **list = NULL;
@@ -883,9 +883,9 @@ int can_all_from_reach(struct commit_list *from, struct commit_list *to,
883
int cutoff_by_min_date)
884
{
885
struct object_array from_objs = OBJECT_ARRAY_INIT;
886
- time_t min_commit_date = cutoff_by_min_date ? from->item->date : 0;
886
struct commit_list *from_iter = from, *to_iter = to;
887
int result;
888
+ timestamp_t min_commit_date = cutoff_by_min_date ? from->item->date : 0;
889
timestamp_t min_generation = GENERATION_NUMBER_INFINITY;
890
891
while (from_iter) {
commit-reach.h
+1
-1
@@ -81,7 +81,7 @@ int commit_contains(struct ref_filter *filter, struct commit *commit,
81
int can_all_from_reach_with_flag(struct object_array *from,
82
unsigned int with_flag,
83
unsigned int assign_flag,
84
- time_t min_commit_date,
84
+ timestamp_t min_commit_date,
85
timestamp_t min_generation);
86
int can_all_from_reach(struct commit_list *from, struct commit_list *to,
87
int commit_date_cutoff);