Andrew Wong <andrew.kw.w@xxxxxxxxx> writes: > 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 Two style niggles here. > + * 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" "we want"? Has any of us decided on that? > + * 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(); -- 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