radicle-heartwood-lfs/radicle/src
cloudhead 256c620d31
node: Use refs cache to decide on fetching
When deciding whether or not to fetch a repo based on a refs
announcement, we need to know whether our signed refs are stale or not,
compared to the ones in the announcement. This can be quite expensive as
it requires multiple reads from Git's ODB, which often results in
packfile loading.

To remedy this, we introduce a refs cache in our node database that is
consulted when an announcement is received.

We also remove the logic that generates `info` messages, since they are
rarely needed and introduced more complexity.

Additionally, we revert commit 3ad2b4431f,
which introduced logic to minimze wants and haves with additional logic,
since it potentially also increases the load on the ODB.
2024-03-29 16:00:33 +01:00
..
canonical Update toolchain to Rust 1.71 2023-08-09 18:49:13 +02:00
cob Update toolchain to Rust 1.77 2024-03-26 10:03:11 +01:00
identity cli: Rework `rad sync` 2024-01-26 15:22:10 +01:00
logger radicle: expose shared logger 2023-12-20 15:11:10 +01:00
node node: Use refs cache to decide on fetching 2024-03-29 16:00:33 +01:00
storage node: Use refs cache to decide on fetching 2024-03-29 16:00:33 +01:00
test node: Make `Storage::refresh` private 2024-03-21 12:40:58 +01:00
canonical.rs radicle: custom CanonicalFormatter 2023-02-24 11:59:36 +01:00
cli.rs cli: Hints system 2023-11-23 11:07:07 +01:00
cob.rs radicle: TypedId improvements 2024-03-11 12:57:53 +01:00
collections.rs Introduce `cargo-deny` 2023-08-22 14:33:00 +02:00
explorer.rs Rename `Id` to `RepoId` 2024-01-22 15:51:44 +01:00
git.rs cli: Add new `rad inbox` command 2024-02-06 11:40:58 +01:00
identity.rs Rename `Id` to `RepoId` 2024-01-22 15:51:44 +01:00
io.rs Don't ever decrease rlimit 2024-01-17 17:38:52 +01:00
lib.rs radicle: pinned repositories configuration 2024-01-24 10:55:27 +01:00
logger.rs cli: Have a way of enabling logging in helper 2024-01-17 17:34:30 +01:00
node.rs node: Use refs cache to decide on fetching 2024-03-29 16:00:33 +01:00
profile.rs node: Cache node inventory 2024-03-21 12:40:58 +01:00
rad.rs node: Make `Storage::refresh` private 2024-03-21 12:40:58 +01:00
serde_ext.rs radicle: Fix some serialization issues 2023-11-17 16:54:27 +01:00
sql.rs Rename `Id` to `RepoId` 2024-01-22 15:51:44 +01:00
storage.rs node: Make `Storage::refresh` private 2024-03-21 12:40:58 +01:00
test.rs Rename `Id` to `RepoId` 2024-01-22 15:51:44 +01:00
version.rs Implement new versioning system 2024-03-25 11:54:08 +01:00
web.rs radicle: pinned repositories configuration 2024-01-24 10:55:27 +01:00