fsck: do not complain on detached HEAD.
Detached HEAD is just a normal state of a repository. Do not say anything about it. Do not give worrying "error:" messages when we let the user know that the HEAD points at nothing (i.e. yet to be born branch), nor we do not have any default refs to start following the objects chain. Reword them as "notice:". Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
f981577202
commit
8eb2d0bee8
@ -532,7 +532,7 @@ static void get_default_heads(void)
|
||||
* "show_unreachable" flag.
|
||||
*/
|
||||
if (!default_refs) {
|
||||
error("No default references");
|
||||
fprintf(stderr, "notice: No default references\n");
|
||||
show_unreachable = 0;
|
||||
}
|
||||
}
|
||||
@ -552,15 +552,23 @@ static int fsck_head_link(void)
|
||||
{
|
||||
unsigned char sha1[20];
|
||||
int flag;
|
||||
const char *head_points_at = resolve_ref("HEAD", sha1, 1, &flag);
|
||||
int null_is_error = 0;
|
||||
const char *head_points_at = resolve_ref("HEAD", sha1, 0, &flag);
|
||||
|
||||
if (!head_points_at || !(flag & REF_ISSYMREF))
|
||||
return error("HEAD is not a symbolic ref");
|
||||
if (prefixcmp(head_points_at, "refs/heads/"))
|
||||
if (!head_points_at)
|
||||
return error("Invalid HEAD");
|
||||
if (!strcmp(head_points_at, "HEAD"))
|
||||
/* detached HEAD */
|
||||
null_is_error = 1;
|
||||
else if (prefixcmp(head_points_at, "refs/heads/"))
|
||||
return error("HEAD points to something strange (%s)",
|
||||
head_points_at);
|
||||
if (is_null_sha1(sha1))
|
||||
return error("HEAD: not a valid git pointer");
|
||||
if (is_null_sha1(sha1)) {
|
||||
if (null_is_error)
|
||||
return error("HEAD: detached HEAD points at nothing");
|
||||
fprintf(stderr, "notice: HEAD points to an unborn branch (%s)\n",
|
||||
head_points_at + 11);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user