It wasn't being set correctly, and it's not the place for it,
so we remove it and set it in `httpd`.
Note that `Remote` is now simply a wrapper around `SignedRefs`.
If we want to remove the type or turn it into an alias, it will
require touching lots of different parts of the codebase. I opted
not to do that here as it's lower priority.
We were allowing remotes to be constructed via a function that didn't
check its inputs.
This is now fixed by moving the public key into the `SignedRefs` struct.
It's currently possible for a channel to be blocked forever while
waiting for data, if the remote peer keeps the connection alive.
This can occupy a worker indefinitely.
With these timeouts, we ensure that workers exit if there is no
activity after a certain amount of time.
When tracking a repository with the `--fetch` option, we run a fetch
once the tracking is done.
When tracking nodes, we don't accept the `--fetch` flag, as there may
not be a repository to fetch.
This commit fixes the inconsistency with the `rad patch` command,
which previously displayed an empty table when there were no issues. Now,
the CLI will display a message indicating that there are no issues to display.
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
Instead of `Node::announce_refs`, we call `rad sync` to have the
terminal block while waiting for nodes to fetch the changes.
We also change the use of `git push` in the patch command to not
trigger syncing in that case.
This command announces refs to peers and waits for them to be
in sync.
Adds a subscribe method to `Handle` so that we can get the events
from the seed to allow us to confirm that the configured seeds fetched
from us.
Implementing the `rad remote rm` command in order to be able
to remote a remote inside the radicle remote list.
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
Implementing the `rad remote list` command in order to be able to
list all the radicle remotes added to the repository
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
implementing the `rad remote add` command in order
to be able to add rad remotes from the command
line.
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
This commits introduces just a couple of helper functions in order
to work with the `rad remote *` commands.
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
By having the keep-alive delta be the same as the ping timeout,
we essentially disconnected peers right after we sent them our
first ping.
This fixes that issue by setting the ping timeout to double the
keep-alive delta.
This commit adds the cob state of either patches or issues to the
corresponding endpoint.
So we can either query a cob listing with the required state or expect
the default state.
And once filtered by cob state we paginate.
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
By mapping all '[.. ]'s with any number of spaces inside them into
'[..]'s, examples can preserve text formatting while using this glob
pattern.
The downside is failed output will show '[..]' in place of the original
version with spaces.
There is no mechanism for fetching the canonical `refs/heads/master`
from a project's repository into a local working copy.
Allow setting up a remote in the working copy, e.g.
[remote "canon"]
url = rad://z3gqcJUoA1n9HaHKufZs5FCSGazv5
fetch = +refs/heads/master:refs/remotes/canon/master
Such that it can fetch the `master` branch, but disallows push to the
canonical reference namespace.
This is achieved by allowing the namespace in `radicle::Url` to
be `None` when the radicle-remote-helper is called. It disallows the
namespace to be None during a `git-receive-pack` -- also keeping the
check for the namespace being equal to the local operator's key.
When the namespace is `None` then `GIT_NAMESPACE` is set to the empty
string.
Signed-off-by: Fintan Halpenny <fintan.halpenny@gmail.com>
X-Clacks-Overhead: GNU Terry Pratchett
A repository may fail to load when trying to run `rad ls`, but the
failure will be hidden from the output.
Add a `--verbose` flag to add warning information to stdout when a
repository fails to load.
Signed-off-by: Fintan Halpenny <fintan.halpenny@gmail.com>
X-Clacks-Overhead: GNU Terry Pratchett