cli/fork: Deprecate

This command is confusing in name and function. Rather than creating
a hard fork of a repository, with a new identity, it pushes the
default branch to the local user's namespace.

Deprecate it and add some help text.
This commit is contained in:
Lorenz Leutgeb 2026-01-23 14:53:23 +01:00 committed by Fintan Halpenny
parent b937a93892
commit e63c30976e
5 changed files with 19 additions and 3 deletions

View File

@ -22,6 +22,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Deprecations
- The `rad fork` command was confusing, and mislead users as to what its purpose
was. Many believed it to create a hard-fork of the repository. Instead, it
pushed the default branch to the local user's namespace. The command is now
deprecated, and the user should use `git push` instead.
## 1.6.1
## Fixed Bugs

View File

@ -20,7 +20,6 @@ Commands:
config Manage your local Radicle configuration
debug Write out information to help debug your Radicle node remotely
follow Manage node follow policies
fork Create a fork of a repository
id Manage repository identities
inbox Manage your Radicle notifications
init Initialize a Radicle repository

View File

@ -4,11 +4,12 @@ use anyhow::Context as _;
use radicle::rad;
use crate::terminal as term;
use crate::{terminal as term, warning};
pub use args::Args;
pub fn run(args: Args, ctx: impl term::Context) -> anyhow::Result<()> {
warning::deprecated("rad fork", "git push");
let profile = ctx.profile()?;
let signer = profile.signer()?;
let storage = &profile.storage;

View File

@ -1,6 +1,16 @@
use radicle::identity::RepoId;
const ABOUT: &str = "Create a fork of a repository";
const ABOUT: &str = "Create a fork of a repository
This command is deprecated and will be removed.
Instead of using `rad fork`, use `git push` to push any references to
your own namespace of a Radicle repository. Usually
git push rad main
would suffice to push the default branch (here named 'main').
";
#[derive(Debug, clap::Parser)]
#[command(about = ABOUT, disable_version_flag = true)]

View File

@ -68,6 +68,7 @@ enum Command {
Config(config::Args),
Debug(debug::Args),
Follow(follow::Args),
#[command(hide = true)] // `rad fork` command is deprecated
Fork(fork::Args),
Id(id::Args),
Inbox(inbox::Args),