From: Johannes Schindelin <johannes.schindelin@xxxxxx> When mentioning the main branch name in an error message, we want to go with the preference specified by the user, only falling back to Git's own, hard-coded default when none was configured explicitly. Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> --- send-pack.c | 6 +++++- t/t5528-push-default.sh | 7 +++++++ transport-helper.c | 6 +++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/send-pack.c b/send-pack.c index 0abee22283d..2532864c812 100644 --- a/send-pack.c +++ b/send-pack.c @@ -405,8 +405,12 @@ int send_pack(struct send_pack_args *args, } if (!remote_refs) { + char *branch_name = git_main_branch_name(); + fprintf(stderr, "No refs in common and none specified; doing nothing.\n" - "Perhaps you should specify a branch such as 'master'.\n"); + "Perhaps you should specify a branch such as '%s'.\n", + branch_name); + free(branch_name); return 0; } if (args->atomic && !atomic_supported) diff --git a/t/t5528-push-default.sh b/t/t5528-push-default.sh index 4d1e0c363ea..f7583b20f87 100755 --- a/t/t5528-push-default.sh +++ b/t/t5528-push-default.sh @@ -98,6 +98,13 @@ test_expect_success 'push from/to new branch with upstream, matching and simple' test_push_failure upstream ' +test_expect_success '"matching" fails if none match' ' + git init --bare empty && + test_must_fail git -c core.mainBranch=unmatch push empty : 2>actual && + needle="Perhaps you should specify a branch such as '\''unmatch'\''" && + test_i18ngrep "$needle" actual +' + test_expect_success 'push ambiguously named branch with upstream, matching and simple' ' git checkout -b ambiguous && test_config branch.ambiguous.remote parent1 && diff --git a/transport-helper.c b/transport-helper.c index a46afcb69db..8c8f40e322d 100644 --- a/transport-helper.c +++ b/transport-helper.c @@ -1044,9 +1044,13 @@ static int push_refs(struct transport *transport, } if (!remote_refs) { + char *branch_name = git_main_branch_name(); + fprintf(stderr, _("No refs in common and none specified; doing nothing.\n" - "Perhaps you should specify a branch such as 'master'.\n")); + "Perhaps you should specify a branch such as '%s'.\n"), + branch_name); + free(branch_name); return 0; } -- gitgitgadget