The --patch option to git-reset is not compatible with the type specifiers (--hard et al.), but some users try that first when what they really want is "checkout -p" (cf. <http://permalink.gmane.org/gmane.comp.version-control.git/161955>). Mention "git checkout -p" in the error message to point users in the right direction. Signed-off-by: ÅtÄpÃn NÄmec <stepnem@xxxxxxxxx> --- Jeenu V <jeenuv@xxxxxxxxx> writes: > On Tue, Nov 23, 2010 at 4:28 PM, knittl <knittl89@xxxxxxxxxxxxxx> wrote: >> `git reset` seldomly affects the working tree, unless using `--hard`, >> `--merge` or `--keep`, and those switches are potentially dangerous if >> you are not aware of the implications to your worktree and index. >> >> without options reset undoes a previous add, i.e. remove changes from >> the index, but not the working tree. >> >> git reset manpage mentions git-checkout: > > Agreed. What I'm saying is most manuals/guides out there tips user to > use 'git reset --hard' to discard changes in the working directory and > restore the pristine copy of files. 'reset' then becomes synonymous to > discard, and it kind of is but for a different reason. Because other > commands offer -p for selective operations, one might try to discard > selectively, and end up using 'git reset -p --hard', which obviously > isn't going to work. > > Knowing the users intention in such cases, I was suggesting the error > message could hint the right command (just like git commit hints user > to use git-add when one does 'git commit' with a dirty working tree). > > But that's just me. Well, maybe something like the patch below wouldn't hurt? builtin/reset.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/builtin/reset.c b/builtin/reset.c index 0037be4..fc530d2 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -309,7 +309,8 @@ int cmd_reset(int argc, const char **argv, const char *prefix) if (patch_mode) { if (reset_type != NONE) - die("--patch is incompatible with --{hard,mixed,soft}"); + die("--patch is incompatible with --{hard,mixed,soft}\n" + "(use \"git checkout -p\" to selectively discard changes in working directory)"); return interactive_reset(rev, argv + i, prefix); } -- 1.7.3.rc2.221.gbf93f.dirty -- 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