During a merge, "--mixed" is most likely not what the user wants. Using "--mixed" during a merge would leave the merged changes and new files mixed in with the local changes. The user would have to manually clean up the work tree, which is non-trivial. In future releases, we want to make "git reset" error out when used in the middle of a merge. For now, we simply print out a warning to the user. Signed-off-by: Andrew Wong <andrew.kw.w@xxxxxxxxx> --- builtin/reset.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/builtin/reset.c b/builtin/reset.c index 4fd1c6c..04e8103 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -331,8 +331,29 @@ int cmd_reset(int argc, const char **argv, const char *prefix) _(reset_type_names[reset_type])); } if (reset_type == NONE) + { reset_type = MIXED; /* by default */ + /* During a merge, "--mixed" is most likely not what the user + * wants. Using "--mixed" during a merge would leave the merged + * changes and new files mixed in with the local changes. The + * user would have to manually clean up the work tree, which is + * non-trivial. In future releases, we want to make "git reset" + * error out when used in the middle of a merge. For now, we + * simply print out a warning to the user. */ + if (is_merge()) + warning(_("You have used 'git reset' in the middle of a merge. 'git reset' defaults to\n" + "'git reset --mixed', which means git will not clean up any merged changes and\n" + "new files that were created in the work tree. It also becomes impossible for\n" + "git to automatically clean up the work tree later, so you would have to clean\n" + "up the work tree manually. To avoid this next time, you may want to use 'git\n" + "reset --merge', or equivalently 'git merge --abort'.\n" + "\n" + "In future releases, using 'git reset' in the middle of a merge will result in\n" + "an error." + )); + } + if (reset_type != SOFT && reset_type != MIXED) setup_work_tree(); -- 1.9.0.174.g6f75b8f -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html