status: add advice on how to push/pull to tracking branch

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Matthieu Moy 2012-11-15 11:45:00 +01:00 committed by Junio C Hamano
parent 8c7a786b6c
commit c190ced600
2 changed files with 11 additions and 3 deletions

View File

@ -1627,13 +1627,15 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb)


base = branch->merge[0]->dst; base = branch->merge[0]->dst;
base = shorten_unambiguous_ref(base, 0); base = shorten_unambiguous_ref(base, 0);
if (!num_theirs) if (!num_theirs) {
strbuf_addf(sb, strbuf_addf(sb,
Q_("Your branch is ahead of '%s' by %d commit.\n", Q_("Your branch is ahead of '%s' by %d commit.\n",
"Your branch is ahead of '%s' by %d commits.\n", "Your branch is ahead of '%s' by %d commits.\n",
num_ours), num_ours),
base, num_ours); base, num_ours);
else if (!num_ours) strbuf_addf(sb,
_(" (use \"git push\" to publish your local commits)\n"));
} else if (!num_ours) {
strbuf_addf(sb, strbuf_addf(sb,
Q_("Your branch is behind '%s' by %d commit, " Q_("Your branch is behind '%s' by %d commit, "
"and can be fast-forwarded.\n", "and can be fast-forwarded.\n",
@ -1641,7 +1643,9 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb)
"and can be fast-forwarded.\n", "and can be fast-forwarded.\n",
num_theirs), num_theirs),
base, num_theirs); base, num_theirs);
else strbuf_addf(sb,
_(" (use \"git pull\" to update your local branch)\n"));
} else {
strbuf_addf(sb, strbuf_addf(sb,
Q_("Your branch and '%s' have diverged,\n" Q_("Your branch and '%s' have diverged,\n"
"and have %d and %d different commit each, " "and have %d and %d different commit each, "
@ -1651,6 +1655,9 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb)
"respectively.\n", "respectively.\n",
num_theirs), num_theirs),
base, num_ours, num_theirs); base, num_ours, num_theirs);
strbuf_addf(sb,
_(" (use \"git pull\" to merge the remote branch into yours)\n"));
}
return 1; return 1;
} }



View File

@ -151,6 +151,7 @@ test_expect_success 'checkout does not warn leaving reachable commit' '


cat >expect <<'EOF' cat >expect <<'EOF'
Your branch is behind 'master' by 1 commit, and can be fast-forwarded. Your branch is behind 'master' by 1 commit, and can be fast-forwarded.
(use "git pull" to update your local branch)
EOF EOF
test_expect_success 'tracking count is accurate after orphan check' ' test_expect_success 'tracking count is accurate after orphan check' '
reset && reset &&