remote-helper: inform the user of an empty patch

The previous message is included in the error:

     ! [remote rejected] master -> refs/patches (patch commits are already included in the base branch)
     
To make it clearer to the user, also print a warning to tell them that the
commit was in the base branch – including the commit SHA:

    warn: attempted to create a patch using the commit f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354, but this commit is already included in the base branch
This commit is contained in:
Fintan Halpenny 2025-11-25 09:34:42 +00:00 committed by Lorenz Leutgeb
parent 28c8c1531f
commit 0c70e17123
2 changed files with 5 additions and 1 deletions

View File

@ -330,6 +330,7 @@ we should get an error:
``` (stderr) (fail)
$ git push rad master:refs/patches
warn: attempted to create a patch using the commit f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354, but this commit is already included in the base branch
To rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
! [remote rejected] master -> refs/patches (patch commits are already included in the base branch)
error: failed to push some refs to 'rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi'

View File

@ -31,7 +31,7 @@ use radicle::{git, rad};
use radicle_cli as cli;
use radicle_cli::terminal as term;
use crate::{hint, read_line, Options, Verbosity};
use crate::{hint, read_line, warn, Options, Verbosity};
#[derive(Debug, Error)]
pub enum Error {
@ -566,6 +566,9 @@ where
let base = patch_base(head, &opts, stored)?;
if base == *head {
warn(format!(
"attempted to create a patch using the commit {head}, but this commit is already included in the base branch"
));
return Err(Error::EmptyPatch);
}