Merge branch 'mm/status-push-pull-advise'
authorJunio C Hamano <gitster@pobox.com>
Wed, 28 Nov 2012 21:42:30 +0000 (13:42 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 28 Nov 2012 21:42:30 +0000 (13:42 -0800)
* mm/status-push-pull-advise:
status: add advice on how to push/pull to tracking branch

1  2 
remote.c
diff --combined remote.c
index 5882d11a8d57f060fdee6a79b70e230c530363c3,9c196892b9d70b8c9b901dadaf9a787786806e54..b6a768e2605038ff4c85a0a115b8571013cc7d05
+++ b/remote.c
@@@ -1458,8 -1458,8 +1458,8 @@@ int get_fetch_map(const struct ref *rem
  
        for (rmp = &ref_map; *rmp; ) {
                if ((*rmp)->peer_ref) {
 -                      if (check_refname_format((*rmp)->peer_ref->name + 5,
 -                              REFNAME_ALLOW_ONELEVEL)) {
 +                      if (prefixcmp((*rmp)->peer_ref->name, "refs/") ||
 +                          check_refname_format((*rmp)->peer_ref->name, 0)) {
                                struct ref *ignore = *rmp;
                                error("* Ignoring funny ref '%s' locally",
                                      (*rmp)->peer_ref->name);
@@@ -1627,13 -1627,15 +1627,15 @@@ int format_tracking_info(struct branch 
  
        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",
                               "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, "
                               "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;
  }