summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2024-12-27 11:46:23 +0100
committerJunio C Hamano <gitster@pobox.com>2024-12-27 17:11:45 +0100
commit04aeeeaab1f02213703c4e1997b2c2f1ca0f8f96 (patch)
tree6368282d9ab4689270421b3f18fe32381a19ae15
parentcommit-reach: fix index used to loop through unsigned integer (diff)
downloadgit-04aeeeaab1f02213703c4e1997b2c2f1ca0f8f96.tar.xz
git-04aeeeaab1f02213703c4e1997b2c2f1ca0f8f96.zip
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>
-rw-r--r--commit-reach.c4
-rw-r--r--commit-reach.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/commit-reach.c b/commit-reach.c
index e658726170..9f8b2457bc 100644
--- a/commit-reach.c
+++ b/commit-reach.c
@@ -780,7 +780,7 @@ int commit_contains(struct ref_filter *filter, struct commit *commit,
int can_all_from_reach_with_flag(struct object_array *from,
unsigned int with_flag,
unsigned int assign_flag,
- time_t min_commit_date,
+ timestamp_t min_commit_date,
timestamp_t min_generation)
{
struct commit **list = NULL;
@@ -883,9 +883,9 @@ int can_all_from_reach(struct commit_list *from, struct commit_list *to,
int cutoff_by_min_date)
{
struct object_array from_objs = OBJECT_ARRAY_INIT;
- time_t min_commit_date = cutoff_by_min_date ? from->item->date : 0;
struct commit_list *from_iter = from, *to_iter = to;
int result;
+ timestamp_t min_commit_date = cutoff_by_min_date ? from->item->date : 0;
timestamp_t min_generation = GENERATION_NUMBER_INFINITY;
while (from_iter) {
diff --git a/commit-reach.h b/commit-reach.h
index 9a745b7e17..d5f3347376 100644
--- a/commit-reach.h
+++ b/commit-reach.h
@@ -81,7 +81,7 @@ int commit_contains(struct ref_filter *filter, struct commit *commit,
int can_all_from_reach_with_flag(struct object_array *from,
unsigned int with_flag,
unsigned int assign_flag,
- time_t min_commit_date,
+ timestamp_t min_commit_date,
timestamp_t min_generation);
int can_all_from_reach(struct commit_list *from, struct commit_list *to,
int commit_date_cutoff);