Browse Source

resolve_ref(): emit warnings for improperly-formatted references

While resolving references, if a reference is found that is in an
unrecognized format, emit a warning (and then fail, as before).
Wouldn't *you* want to know?

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Michael Haggerty 13 years ago committed by Junio C Hamano
parent
commit
629cd3ac6d
  1. 6
      refs.c

6
refs.c

@ -500,6 +500,7 @@ const char *resolve_ref(const char *ref, unsigned char *sha1, int reading, int * @@ -500,6 +500,7 @@ const char *resolve_ref(const char *ref, unsigned char *sha1, int reading, int *
ssize_t len;
char buffer[256];
static char ref_buffer[256];
char path[PATH_MAX];

if (flag)
*flag = 0;
@ -508,7 +509,6 @@ const char *resolve_ref(const char *ref, unsigned char *sha1, int reading, int * @@ -508,7 +509,6 @@ const char *resolve_ref(const char *ref, unsigned char *sha1, int reading, int *
return NULL;

for (;;) {
char path[PATH_MAX];
struct stat st;
char *buf;
int fd;
@ -593,8 +593,10 @@ const char *resolve_ref(const char *ref, unsigned char *sha1, int reading, int * @@ -593,8 +593,10 @@ const char *resolve_ref(const char *ref, unsigned char *sha1, int reading, int *
if (flag)
*flag |= REF_ISSYMREF;
}
if (get_sha1_hex(buffer, sha1))
if (get_sha1_hex(buffer, sha1)) {
warning("reference in %s is formatted incorrectly", path);
return NULL;
}
return ref;
}


Loading…
Cancel
Save