diff options
author | Ævar Arnfjörð Bjarmason <avarab@gmail.com> | 2018-11-13 20:52:42 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-11-14 07:27:55 +0100 |
commit | 04d17287a0e0161e5a0accd8ab781135bd672c98 (patch) | |
tree | 30e92f6988b5c92a25fefdeb9fb72691992abd23 /remote.c | |
parent | push: improve the error shown on unqualified <dst> push (diff) | |
download | git-04d17287a0e0161e5a0accd8ab781135bd672c98.tar.xz git-04d17287a0e0161e5a0accd8ab781135bd672c98.zip |
push: move unqualified refname error into a function
A follow-up change will extend this error message with the advice
facility. Doing so would make the indentation too deeply nested for
comfort. So let's split this into a helper function.
There's no changes to the wording here. Just code moving &
re-indentation, and re-flowing the "TRANSLATORS" comment.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to '')
-rw-r--r-- | remote.c | 38 |
1 files changed, 22 insertions, 16 deletions
@@ -1005,6 +1005,26 @@ static int match_explicit_lhs(struct ref *src, } } +static void show_push_unqualified_ref_name_error(const char *dst_value, + const char *matched_src_name) +{ + /* + * TRANSLATORS: "matches '%s'%" is the <dst> part of "git push + * <remote> <src>:<dst>" push, and "being pushed ('%s')" is + * the <src>. + */ + error(_("The destination you provided is not a full refname (i.e.,\n" + "starting with \"refs/\"). We tried to guess what you meant by:\n" + "\n" + "- Looking for a ref that matches '%s' on the remote side.\n" + "- Checking if the <src> being pushed ('%s')\n" + " is a ref in \"refs/{heads,tags}/\". If so we add a corresponding\n" + " refs/{heads,tags}/ prefix on the remote side.\n" + "\n" + "Neither worked, so we gave up. You must fully qualify the ref."), + dst_value, matched_src_name); +} + static int match_explicit(struct ref *src, struct ref *dst, struct ref ***dst_tail, struct refspec_item *rs) @@ -1049,22 +1069,8 @@ static int match_explicit(struct ref *src, struct ref *dst, matched_dst = make_linked_ref(dst_guess, dst_tail); free(dst_guess); } else { - /* - * TRANSLATORS: "matches '%s'%" is the <dst> - * part of "git push <remote> <src>:<dst>" - * push, and "being pushed ('%s')" is the - * <src>. - */ - error(_("The destination you provided is not a full refname (i.e.,\n" - "starting with \"refs/\"). We tried to guess what you meant by:\n" - "\n" - "- Looking for a ref that matches '%s' on the remote side.\n" - "- Checking if the <src> being pushed ('%s')\n" - " is a ref in \"refs/{heads,tags}/\". If so we add a corresponding\n" - " refs/{heads,tags}/ prefix on the remote side.\n" - "\n" - "Neither worked, so we gave up. You must fully qualify the ref."), - dst_value, matched_src->name); + show_push_unqualified_ref_name_error(dst_value, + matched_src->name); } break; default: |