From: Heba Waly <heba.waly@xxxxxxxxx> Display a hint to the user when attempting to delete a checked out branch saying "Checkout another branch before deleting this one: git checkout <branch_name>". Currently the user gets an error message saying: "error: Cannot delete branch <branch_name> checked out at <path>". The hint will be displayed after the error message. Signed-off-by: Heba Waly <heba.waly@xxxxxxxxx> --- builtin/branch.c | 2 ++ t/t3200-branch.sh | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/builtin/branch.c b/builtin/branch.c index d8297f80ff..799e967008 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -240,6 +240,8 @@ static int delete_branches(int argc, const char **argv, int force, int kinds, error(_("Cannot delete branch '%s' " "checked out at '%s'"), bname.buf, wt->path); + advise(_("Checkout another branch before deleting this " + "one: git checkout <branch_name>")); ret = 1; continue; } diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh index 411a70b0ce..3b2812a8f4 100755 --- a/t/t3200-branch.sh +++ b/t/t3200-branch.sh @@ -808,7 +808,8 @@ test_expect_success 'test deleting branch without config' ' test_expect_success 'deleting currently checked out branch fails' ' git worktree add -b my7 my7 && test_must_fail git -C my7 branch -d my7 && - test_must_fail git branch -d my7 && + test_must_fail git branch -d my7 >actual.out 2>actual.err && + test_i18ngrep "hint: Checkout another branch" actual.err && rm -r my7 && git worktree prune ' -- gitgitgadget