From: "Štěpán Němec" <stepnem@gmail.com>
To: Jeff King <peff@peff.net>
Cc: Jeenu V <jeenuv@gmail.com>, knittl <knittl89@googlemail.com>,
git@vger.kernel.org
Subject: Re: [PATCH] Hint at "checkout -p" in the "reset --patch <type>" error message
Date: Tue, 23 Nov 2010 16:23:18 +0100 [thread overview]
Message-ID: <87ipzo83o9.fsf@gmail.com> (raw)
In-Reply-To: <20101123145921.GB3145@sigill.intra.peff.net> (Jeff King's message of "Tue, 23 Nov 2010 09:59:21 -0500")
Jeff King <peff@peff.net> writes:
> On Tue, Nov 23, 2010 at 03:20:58PM +0100, Štěpán Němec wrote:
>
>> 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);
>> }
>
> Should this actually print something different for --hard versus --mixed
> versus --soft?
>
> For --soft, "-p" simply makes no sense as you are not changing the index
> or the working directory.
>
> For --mixed, shouldn't we support "-p" already, as that is the default
> mode?
>
> For --hard, suggesting "checkout -p" does make sense.
>
> Also, what about "--merge" and "--keep" modes?
All good questions, most of which occured to me, too. What I was going
to do based on the outcome of (the discussion of) this patch was at
least fix the currently out-of-date "--{hard,mixed,soft}", as the
error is signalled with the newer options (--keep and --merge) as well.
I'm not sure I could cope with anything much more complicated than that,
esp. if it involved adding some new reset functionality. :-)
What about this instead:
diff --git a/builtin/reset.c b/builtin/reset.c
index 0037be4..7779302 100644
--- a/builtin/reset.c
+++ b/builtin/reset.c
@@ -308,8 +308,11 @@ int cmd_reset(int argc, const char **argv, const char *prefix)
hashcpy(sha1, commit->object.sha1);
if (patch_mode) {
- if (reset_type != NONE)
- die("--patch is incompatible with --{hard,mixed,soft}");
+ if (reset_type == HARD)
+ die("--patch is incompatible with --hard\n"
+ "(use \"git checkout -p\" to selectively discard changes in working directory)");
+ if (reset_type != MIXED)
+ die("--patch is incompatible with --{hard,soft,keep,merge}");
return interactive_reset(rev, argv + i, prefix);
}
Thanks,
Štěpán
next prev parent reply other threads:[~2010-11-23 15:25 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-23 9:11 Git reset -p on working tree Jeenu V
2010-11-23 9:20 ` knittl
2010-11-23 10:26 ` Jeenu V
2010-11-23 10:32 ` Jeenu V
2010-11-23 10:58 ` knittl
2010-11-23 13:00 ` Jeenu V
2010-11-23 14:20 ` [PATCH] Hint at "checkout -p" in the "reset --patch <type>" error message Štěpán Němec
2010-11-23 14:59 ` Jeff King
2010-11-23 15:23 ` Štěpán Němec [this message]
2010-11-25 8:55 ` Michael J Gruber
2010-11-25 10:56 ` Jakub Narebski
2010-11-25 13:10 ` Michael J Gruber
2010-11-25 15:56 ` Matthieu Moy
2010-11-25 16:14 ` Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87ipzo83o9.fsf@gmail.com \
--to=stepnem@gmail.com \
--cc=git@vger.kernel.org \
--cc=jeenuv@gmail.com \
--cc=knittl89@googlemail.com \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).