diff --git a/builtin-reset.c b/builtin-reset.c
index 4c61025aaef96ae9f8bcabe3fd4ad6c0fc2beba3..10dba60c39d3cf7dafe6d733a4d53977c285a73c 100644 (file)
--- a/builtin-reset.c
+++ b/builtin-reset.c
return 1;
diffcore_std(&opt);
diff_flush(&opt);
return 1;
diffcore_std(&opt);
diff_flush(&opt);
+ diff_tree_release_paths(&opt);
if (!index_was_discarded)
/* The index is still clobbered from do_diff_cache() */
if (!index_was_discarded)
/* The index is still clobbered from do_diff_cache() */
if (reset_type == NONE)
reset_type = MIXED; /* by default */
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. */
/* 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. */