Andrew Wong <[email protected]> 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 <[email protected]>
> ---
> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html