]> git.ipfire.org Git - thirdparty/git.git/commitdiff
reachable.c: extract `obj_is_recent()`
authorTaylor Blau <me@ttaylorr.com>
Wed, 7 Jun 2023 22:58:12 +0000 (18:58 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 12 Jun 2023 21:08:51 +0000 (14:08 -0700)
When enumerating objects in order to add recent ones (i.e. those whose
mtime is strictly newer than the cutoff) as tips of a reachability
traversal, `add_recent_object()` discards objects which do not meet the
recency criteria.

The subsequent commit will make checking whether or not an object is
recent also consult the list of hooks in `pack.recentHook`. Isolate this
check in its own function to keep the additional complexity outside of
`add_recent_object()`.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
reachable.c

index 55bb1143530fceb53f4f68450ecb455861cbbe2d..7a42da5d399cc7086db8bed88082c35d1cc51d21 100644 (file)
@@ -69,6 +69,12 @@ struct recent_data {
        int ignore_in_core_kept_packs;
 };
 
+static int obj_is_recent(const struct object_id *oid, timestamp_t mtime,
+                        struct recent_data *data)
+{
+       return mtime > data->timestamp;
+}
+
 static void add_recent_object(const struct object_id *oid,
                              struct packed_git *pack,
                              off_t offset,
@@ -78,7 +84,7 @@ static void add_recent_object(const struct object_id *oid,
        struct object *obj;
        enum object_type type;
 
-       if (mtime <= data->timestamp)
+       if (!obj_is_recent(oid, mtime, data))
                return;
 
        /*