diff --git a/remote.c b/remote.c index 5882d11a8d57f060fdee6a79b70e230c530363c3..b6a768e2605038ff4c85a0a115b8571013cc7d05 100644 --- a/remote.c +++ b/remote.c @@ -1627,13 +1627,15 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb) base = branch->merge[0]->dst; base = shorten_unambiguous_ref(base, 0); - if (!num_theirs) + if (!num_theirs) { strbuf_addf(sb, Q_("Your branch is ahead of '%s' by %d commit.\n", "Your branch is ahead of '%s' by %d commits.\n", 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, Q_("Your branch is behind '%s' by %d commit, " "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", num_theirs), base, num_theirs); - else + strbuf_addf(sb, + _(" (use \"git pull\" to update your local branch)\n")); + } else { strbuf_addf(sb, Q_("Your branch and '%s' have diverged,\n" "and have %d and %d different commit each, " @@ -1651,6 +1655,9 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb) "respectively.\n", num_theirs), base, num_ours, num_theirs); + strbuf_addf(sb, + _(" (use \"git pull\" to merge the remote branch into yours)\n")); + } return 1; } diff --git a/t/t2020-checkout-detach.sh b/t/t2020-checkout-detach.sh index 81005373d728f09e1a9289048cc721a0300f1cf9..5d68729d7a65abde09d1293e8569b730d2ba9a40 100755 --- a/t/t2020-checkout-detach.sh +++ b/t/t2020-checkout-detach.sh @@ -151,6 +151,7 @@ test_expect_success 'checkout does not warn leaving reachable commit' ' cat >expect <<'EOF' Your branch is behind 'master' by 1 commit, and can be fast-forwarded. + (use "git pull" to update your local branch) EOF test_expect_success 'tracking count is accurate after orphan check' ' reset &&