cloudhead
65fa3cbb1b
radicle: Make `DraftStore` generic over the repo
...
This will allow using it inside of COBs.
2023-09-10 20:44:38 +02:00
cloudhead
6695074479
cob: Don't require full `Entry` for update
...
Instead of taking the full entry type, we only need the id.
2023-09-10 20:44:38 +02:00
cloudhead
c903a958e7
cob: Implement action authorization
...
Add `authorization` functions to `Patch` and `Issue` COBs.
Co-authored-by: Arastoo Bozorgi <ab1502@mun.ca>
2023-09-09 18:31:52 +02:00
cloudhead
f760b1153f
dag: Accept multiple roots in `fold`, remove depth
...
This allows the fold to start anywhere in our DAG.
2023-09-07 11:48:21 +02:00
cloudhead
5c256c8bfb
cob: Remove support for legacy issues
2023-09-07 11:48:18 +02:00
cloudhead
5fc6d96076
cob: Move action handling into its own function
...
This change is in preparation for further changes where action handling
is called from multiple places.
2023-09-06 20:40:15 +02:00
Fintan Halpenny
bf8cee2446
cob: Remove EntryId and RevisionId conversions
...
Clippy warns that EntryId::from and RevisionId::from are not
required.
Remove the unecessary calls in radicle-cob and radicle.
Signed-off-by: Fintan Halpenny <fintan.halpenny@gmail.com>
X-Clacks-Overhead: GNU Terry Pratchett
2023-09-06 20:07:36 +02:00
cloudhead
287a920d12
cli: Add `rad patch set` command
...
Sets the current branch's upstream to point to the given patch.
This allows for pushes to update the patch.
When opening a patch, if the current branch already has an upstream,
it isn't updated automatically. This is why this command exists.
2023-09-06 20:03:58 +02:00
Alexis Sellier
579ddfe725
cli: Give passphrase error on prompt
...
Example:
✗ Invalid passphrase, please try again
? Passphrase: ***
2023-09-06 20:03:58 +02:00
Alexis Sellier
5040f33025
cli: Be less confusing when asking for passphrase
...
The previous error didn't really make sense.
2023-09-06 20:03:58 +02:00
Alexis Sellier
30f2e2260a
remote-helper: Ignore decoding errors on fetch
...
Legacy patches will fail to decode and break the fetch code due to this.
2023-09-06 20:03:58 +02:00
Arastoo Bozorgi
5466232dd4
cob: Work on missing functionality in patches
...
* Add resolve/unresolve functionalities to threads' comments
* Enable reactions on a revision and code locations
2023-09-06 10:56:14 +02:00
cloudhead
54cc92cc83
cob: Add missing `verdict` field to `review.edit`
...
This is generally useful, and required when constructing a review
without knowing the verdict ahead of time.
2023-09-05 11:17:59 +02:00
cloudhead
152be65053
cob: Wrap patch ID types with new types
...
To prevent using eg. a `RevisionId` when a `ReviewId` is required,
use compiler types.
2023-09-05 11:17:59 +02:00
cloudhead
16d49c0b82
cli: Don't panic if operation is interrupted
...
We handle the errors correctly and return.
2023-09-05 11:16:09 +02:00
cloudhead
1ab1da1ba1
cli: Make sure we sync inventory before announcing
2023-09-05 11:16:09 +02:00
cloudhead
112c940d81
cli: Add tests for `rad publish`
2023-09-05 11:16:09 +02:00
cloudhead
45a2c05a9e
cli: Explain how to publish a repo on `rad init`
2023-09-05 11:16:09 +02:00
cloudhead
1acbe39340
cli: Adjust output of `rad sync` slightly
2023-09-05 11:16:09 +02:00
cloudhead
9de10ade5a
cli: Add `--inventory` mode to `rad sync`
...
This mode allows to announce our inventory. It's not normally needed,
but may be suggested by the `rad publish` command in certain cases.
2023-09-05 11:16:09 +02:00
cloudhead
8199f1a679
cli: Add `rad publish` command
...
This command publishes a private repo.
2023-09-05 11:16:05 +02:00
cloudhead
56d6e24ae6
cli: Update `rad inspect` command
...
Rename `--id` flag to `--rid`. Update code to match.
2023-09-03 17:21:39 +02:00
cloudhead
ba5ed58997
cli: Show repo visibility in `rad ls`
2023-09-03 17:21:39 +02:00
cloudhead
befc76e030
cli: Move `init` errors up so it fails sooner
2023-09-03 17:21:39 +02:00
cloudhead
f2e74fdad2
cli: Choose repo visibility on init
...
This allows a user to choose private or public visibility on `rad init`.
It also improves the output to tell the user what happened due to this
choice.
2023-09-03 17:21:37 +02:00
Sebastian Martinez
d6d280d450
httpd: Return entire files in diff endpoint
...
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-09-02 19:02:25 +02:00
cloudhead
8ea9921765
httpd: Better error output from git backend
2023-09-01 15:17:41 +02:00
cloudhead
4fb5f6c172
cli: Simplify fatal error output
...
It didn't make sense to get eg. `Patch failed` when listing patches
failed. We change all fatal errors to simply "Error:", giving more
control over the individual commands.
2023-09-01 15:17:41 +02:00
cloudhead
27e2f47280
term: Fallback to common editors
...
When `EDITOR` or `VISUAL` are not set, we fallback to the most common
editors. It turns out many users don't have these variables set.
We also check if an editor has been configured with `git`.
2023-09-01 15:17:41 +02:00
cloudhead
3f592e23d4
httpd: Try lowercase READMEs as well
2023-09-01 15:17:41 +02:00
cloudhead
8d5299fe85
cli: `rad patch --help` opens man page
...
This is the same behavior as `git`. We also update the man page to have
the full list of commands and flags.
2023-09-01 15:17:41 +02:00
cloudhead
b1213931de
cli: Add some hints during interactive `rad init`
2023-09-01 15:17:41 +02:00
cloudhead
46b0dfb11c
cli: Improve `rad init` error when not in Git repo
2023-09-01 15:17:41 +02:00
cloudhead
a84555955d
cli: Add PID to `node start` message
...
We also use a spinner in case it takes longer.
2023-09-01 15:17:41 +02:00
cloudhead
0123433f81
httpd: Fix clippy warning
...
Note: because we don't have a working copy here, we can't call
`Merged::cleanup`. We need to figure something out for this.
2023-09-01 15:16:56 +02:00
cloudhead
bfc3c7164f
tools: Add `rad-merge` tool
...
It happened that a small bug in the remote helper caused a patch not to
merge correctly on push. Hence, I implemented a `rad-merge` tool for
these cases where we need to fix broken state.
2023-09-01 14:33:23 +02:00
cloudhead
6c5cba3ca6
cli: Improve patch and issue outputs
...
* Add author to `issue show`
* Improve author display with alias
* Fix consistency issues when printing authors
2023-09-01 12:26:43 +02:00
cloudhead
aec865a986
cli: Fix the color of certain things
2023-09-01 12:26:43 +02:00
cloudhead
a46057da1f
cli: Update `rad ls` to look like other commands
...
We render the output of `ls` as a bordered table, like other tabular
data in the CLI.
2023-09-01 12:26:41 +02:00
cloudhead
e59e196da8
cli: Show repo summary on `rad clone`
...
After cloning, we show a cool little summary with some repo stats.
We had to make some adjustments to the way visual width is calculated
due to a bug surfaced around emoji width calculation. Unfortunately
there isn't a perfect solution that works across terminals yet, so the
"variation selector 16" code-point is filtered out for now.
2023-09-01 12:22:50 +02:00
cloudhead
0c43b05066
cli: Improve `rad node` output
2023-09-01 12:22:50 +02:00
cloudhead
df0b5da559
cli: Improve node connection error
2023-09-01 12:22:50 +02:00
cloudhead
6fcdb95f0a
cli: Improve `rad init` help output
2023-09-01 12:22:50 +02:00
cloudhead
04d70f27d8
remote-helper: Fix issue with legacy patches
...
Legacy (or broken) patches prevented merge operations from happening.
2023-09-01 12:21:00 +02:00
cloudhead
9cf20ddef9
Introduce `RepositoryInfo` type
2023-09-01 12:13:45 +02:00
cloudhead
09a284f09c
node: Make fetch timeout configurable
...
When a fetch is user-requested, a timeout can be supplied that is passed
down to the worker.
When a fetch is service-requested, a default timeout is used.
2023-09-01 12:13:45 +02:00
cloudhead
a1df6d3748
cli: Add private repo support to `rad sync`
...
We can't use `node::seeds` for private repos.
2023-09-01 12:13:45 +02:00
cloudhead
87c38118d1
cli: Add `rad node sessions`
...
Shows node sessions.
2023-09-01 12:13:45 +02:00
cloudhead
9a54c8da7b
cli: Update commands for private repos
...
Several commands are updated to better support private repos.
2023-09-01 12:13:45 +02:00
cloudhead
257b950d6f
cli: Add `--private` option to `rad init`
...
Enables private repository initialization.
2023-09-01 12:13:45 +02:00