Skip to content

Commit

Permalink
fsck: do not complain on detached HEAD.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Junio C Hamano committed Apr 11, 2007
1 parent f981577 commit 8eb2d0b
Showing 1 changed file with 16 additions and 8 deletions.
24 changes: 16 additions & 8 deletions builtin-fsck.c
Original file line number Diff line number Diff line change
@@ -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);

if (!head_points_at || !(flag & REF_ISSYMREF))
return error("HEAD is not a symbolic ref");
if (prefixcmp(head_points_at, "refs/heads/"))
int null_is_error = 0;
const char *head_points_at = resolve_ref("HEAD", sha1, 0, &flag);

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;
}

0 comments on commit 8eb2d0b

Please sign in to comment.