summaryrefslogtreecommitdiff
path: root/builtin/fetch.c
diff options
context:
space:
mode:
authorMarc Branchaud <marcnarc@xiplink.com>2012-04-16 18:08:50 -0400
committerJunio C Hamano <gitster@pobox.com>2012-04-17 08:26:00 -0700
commit0997adaa74dfe07cee3180c3a6fd91949fb4e3d8 (patch)
tree2d724488af8e8a617d83c44022595303f378c455 /builtin/fetch.c
parent6da618d5c2ae95f08c9a24d0cce2d5d93b60cfbe (diff)
downloadgit-0997adaa74dfe07cee3180c3a6fd91949fb4e3d8.tar.gz
fetch: describe new refs based on where it came from
update_local_ref() used to say "[new branch]" when we stored a new ref outside refs/tags/ hierarchy, but the message is more about what we fetched, so use the refname at the origin to make that decision. Also, only call a new ref a "branch" if it's under refs/heads/. Signed-off-by: Marc Branchaud <marcnarc@xiplink.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/fetch.c')
-rw-r--r--builtin/fetch.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/builtin/fetch.c b/builtin/fetch.c
index 06d71e4e4c..0f80cf8185 100644
--- a/builtin/fetch.c
+++ b/builtin/fetch.c
@@ -294,16 +294,24 @@ static int update_local_ref(struct ref *ref,
const char *msg;
const char *what;
int r;
- if (!strncmp(ref->name, "refs/tags/", 10)) {
+ /*
+ * Nicely describe the new ref we're fetching.
+ * Base this on the remote's ref name, as it's
+ * more likely to follow a standard layout.
+ */
+ const char *name = remote_ref ? remote_ref->name : "";
+ if (!prefixcmp(name, "refs/tags/")) {
msg = "storing tag";
what = _("[new tag]");
- }
- else {
+ } else if (!prefixcmp(name, "refs/heads/")) {
msg = "storing head";
what = _("[new branch]");
if ((recurse_submodules != RECURSE_SUBMODULES_OFF) &&
(recurse_submodules != RECURSE_SUBMODULES_ON))
check_for_new_submodule_commits(ref->new_sha1);
+ } else {
+ msg = "storing ref";
+ what = _("[new ref]");
}
r = s_update_ref(msg, ref, 0);