Alexis Sellier
a104f9681c
Warn on `unwrap`, remove last remaining instances
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-11 09:31:54 +02:00
Alexis Sellier
5ccf9a388a
Handle errors in `rad::remote` properly
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-11 09:31:53 +02:00
Alexis Sellier
6ef74c6674
Don't nest options inside results
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-11 09:31:52 +02:00
Alexis Sellier
fde0af09f7
Handle errors correctly in storage
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-11 09:31:48 +02:00
Alexis Sellier
832c6ad53f
Improve error handling in a few places
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-10 11:29:22 +02:00
Alexis Sellier
b8c2ab5316
Switch to a lighter sqlite dependency
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-08 12:13:59 +02:00
Alexis Sellier
e909e04c6c
Implement proper `node::Features` type
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-07 22:49:58 +02:00
Alexis Sellier
77ee404e83
Fix issue with dev mode on `radicle` crate
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-06 18:39:32 +02:00
Alexis Sellier
2d52a53ce5
Add variable bloom filter sizes
...
This should help small nodes waste less bandwidth, while standardizing
on set sizes.
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-05 15:58:34 +02:00
Alexis Sellier
85ac8a1d4d
Implement routing table persistence
...
Uses SQLite for persistence.
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-05 12:13:12 +02:00
Alexis Sellier
efdc8c52c7
Add a `CommitObject::TryFrom<git2::Buf>` instance
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-03 21:33:04 +02:00
Alexis Sellier
fece740fcb
Implement commit parsing/formatting
...
To be able to support git commits with multiple signature
headers, we have to implement our own parsing and formatting.
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-03 21:17:52 +02:00
Alexis Sellier
5b673c7440
Add `rad-clone` initial sketch
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-03 11:50:43 +02:00
Alexis Sellier
c8bff35229
Improve ssh crate API
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-03 11:13:53 +02:00
Alexis Sellier
79c1372d33
Simplify ssh formatting code
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-03 10:48:22 +02:00
Alexis Sellier
2acd999c16
Add SSH functionality with new `radicle-ssh`
...
We borrow code from `thrussh`, refactored to be runtime-less.
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-03 10:34:59 +02:00
Slack Coder
f9ad3ac155
git: Use RefString types for git::refs
...
Lean on rust's type system to improve safety.
Signed-off-by: Slack Coder <slackcoder@server.ky>
2022-09-28 16:11:03 -05:00
Alexis Sellier
48a5c75ae3
Revise git transport to use I/O more directly
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-28 15:41:11 +02:00
Alexis Sellier
f85a0426d7
Only support `rad://` in the custom proto
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-28 13:45:03 +02:00
Alexis Sellier
1da38708fc
Flesh out custom git transport
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-28 13:36:57 +02:00
Alexis Sellier
b4dcc00fe3
Custom git protocol sketch
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-27 18:14:57 +02:00
Alexis Sellier
85f9a1afc2
Fully verify fetches
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-27 14:30:03 +02:00
Alexis Sellier
27e39c0df5
Make `Id` a `Copy`
2022-09-27 14:13:20 +02:00
Alexis Sellier
a20d16fc31
tools: Announce refs on push
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-26 16:16:32 +02:00
Alexis Sellier
c991c0eea0
Improve some project path code
2022-09-26 15:34:03 +02:00
Alexis Sellier
ca2f766d19
Add `Profile::connect`
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-26 14:27:56 +02:00
Alexis Sellier
116eaa79e6
Use `Profile` in client
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-23 20:21:21 +02:00
Alexis Sellier
51e18c27fc
Add `rad-push`
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-23 20:10:52 +02:00
Alexis Sellier
a3bf5ab7c3
Initialize `radicle-tools` crate
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-23 17:33:31 +02:00
Alexis Sellier
fcb1007f9d
Refactor service
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-23 15:43:55 +02:00
Alexis Sellier
7169881849
Remove peer timestamp
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 18:17:51 +02:00
Alexis Sellier
51f2d4e3fc
Move identity types to project
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 16:31:58 +02:00
Alexis Sellier
00ed8793af
Rename a few more things for clarity
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 16:15:59 +02:00
Alexis Sellier
62408234cf
Rename `doc` module to `project`
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 16:02:42 +02:00
Alexis Sellier
e382bc4eb9
Remove `Project` type
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 15:59:20 +02:00
Alexis Sellier
c2b599f068
Implement node handle to control node
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 12:36:12 +02:00
Alexis Sellier
f5bfb8d90a
radicle: Implement canonical fork
...
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-21 16:08:04 +02:00
Alexis Sellier
46501507be
Split repository into two creates
...
* `radicle`: core library
* `radicle-node`: node
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-21 15:11:17 +02:00