[PATCH v3 1/2] reachable.c: extract `obj_is_recent()`
- From
Taylor Blau <me@ttaylorr.com>
- Date
- May 11, 2023, 23:20 UTC
- Message-ID
- <f5f3b0f334f6c26ba2f9252723a9b539371375e3.1683847221.git.me@ttaylorr.com>
- In-Reply-To
- <cover.1683847221.git.me@ttaylorr.com>
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> --- reachable.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/reachable.c b/reachable.c index 55bb114353..7a42da5d39 100644 --- a/reachable.c +++ b/reachable.c @@ -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; /*
-- 2.40.1.554.g2ce8a79fa4