Signed-off-by: Yao Zhao <zhaox383@xxxxxxx> --- branch.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/branch.c b/branch.c index 723a36b..6432e27 100644 --- a/branch.c +++ b/branch.c @@ -53,7 +53,20 @@ void install_branch_config(int flag, const char *local, const char *origin, cons int remote_is_branch = starts_with(remote, "refs/heads/"); struct strbuf key = STRBUF_INIT; int rebasing = should_setup_rebase(origin); - + char** print_list = malloc(8 * sizeof(char*)); + char* arg1=NULL; + char* arg2=NULL; + char* arg3=NULL; + int index=0; + + print_list[7] = _("Branch %s set up to track remote branch %s from %s by rebasing."); + print_list[6] = _("Branch %s set up to track remote branch %s from %s."); + print_list[5] = _("Branch %s set up to track local branch %s by rebasing."); + print_list[4] = _("Branch %s set up to track local branch %s."); + print_list[3] = _("Branch %s set up to track remote ref %s by rebasing."); + print_list[2] = _("Branch %s set up to track remote ref %s."); + print_list[1] = _("Branch %s set up to track local ref %s by rebasing."); + print_list[0] = _("Branch %s set up to track local ref %s."); if (remote_is_branch && !strcmp(local, shortname) && !origin) { @@ -77,7 +90,44 @@ void install_branch_config(int flag, const char *local, const char *origin, cons strbuf_release(&key); if (flag & BRANCH_CONFIG_VERBOSE) { - if (remote_is_branch && origin) + if(remote_is_branch) + index += 4; + if(origin) + index += 2; + if(rebasing) + index += 1; + + if(index < 0 || index > 7) + { + die("BUG: impossible combination of %d and %p", + remote_is_branch, origin); + } + + if(index <= 4) { + arg1 = local; + arg2 = remote; + } + else if(index > 6) { + arg1 = local; + arg2 = shortname; + arg3 = origin; + } + else { + arg1 = local; + arg2 = shortname; + } + + if(!arg3) { + printf_ln(print_list[index],arg1,arg2); + } + else { + printf_ln(print_list[index],arg1,arg2,arg3); + } + + free(print_list); + + +/* if (remote_is_branch && origin) printf_ln(rebasing ? _("Branch %s set up to track remote branch %s from %s by rebasing.") : _("Branch %s set up to track remote branch %s from %s."), @@ -100,6 +150,7 @@ void install_branch_config(int flag, const char *local, const char *origin, cons else die("BUG: impossible combination of %d and %p", remote_is_branch, origin); +*/ } } -- 1.8.3.2 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html