diff --git a/builtin-reset.c b/builtin-reset.c
index 713c2d5346e8dc7e502beffc256bfdcad9da6ad5..7ee811f0b8de34025a14a53d42f4fceb477a598e 100644 (file)
--- a/builtin-reset.c
+++ b/builtin-reset.c
return error("Could not read index");
result = refresh_cache(0) ? 1 : 0;
if (write_cache(fd, active_cache, active_nr) ||
- close(fd) ||
commit_locked_index(index_lock))
return error ("Could not refresh index");
return result;
if (reset_type == NONE)
reset_type = MIXED; /* by default */
+ if (reset_type == HARD && is_bare_repository())
+ die("hard reset makes no sense in a bare repository");
+
/* Soft reset does not touch the index file nor the working tree
* at all, but requires them in a good order. Other resets reset
* the index file to the tree object we are switching to. */