From: Felipe Contreras <felipe.contreras@gmail.com>
To: git@vger.kernel.org
Cc: Piotr Krukowiecki <piotr.krukowiecki.news@gmail.com>,
Jay Soffian <jaysoffian@gmail.com>,
Jonathan Nieder <jrnieder@gmail.com>,
Philip Oakley <philipoakley@iee.org>,
Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>,
William Swanson <swansontec@gmail.com>,
Ping Yin <pkufranky@gmail.com>,
Hilco Wijbenga <hilco.wijbenga@gmail.com>,
Felipe Contreras <felipe.contreras@gmail.com>
Subject: [PATCH v2 try2 13/14] reset: allow --keep with --stage
Date: Fri, 25 Apr 2014 13:12:46 -0500 [thread overview]
Message-ID: <1398449567-16314-14-git-send-email-felipe.contreras@gmail.com> (raw)
In-Reply-To: <1398449567-16314-1-git-send-email-felipe.contreras@gmail.com>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
Documentation/git-reset.txt | 2 +-
builtin/reset.c | 13 ++++++++++---
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/Documentation/git-reset.txt b/Documentation/git-reset.txt
index 5cd75a8..a1419c9 100644
--- a/Documentation/git-reset.txt
+++ b/Documentation/git-reset.txt
@@ -11,7 +11,7 @@ SYNOPSIS
'git reset' [-q] [<tree-ish>] [--] <paths>...
'git reset' (--patch | -p) [<tree-ish>] [--] [<paths>...]
'git reset' [--soft | --mixed | --hard | --merge | --keep] [-q] [<commit>]
-'git reset' [--stage | --work] [-q] [<commit>]
+'git reset' [--stage | --work | --keep] [-q] [<commit>]
DESCRIPTION
-----------
diff --git a/builtin/reset.c b/builtin/reset.c
index c40987e..8d6d9a1 100644
--- a/builtin/reset.c
+++ b/builtin/reset.c
@@ -23,7 +23,7 @@
static const char * const git_reset_usage[] = {
N_("git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]"),
- N_("git reset [--stage | --work] [-q] [<commit>]"),
+ N_("git reset [--stage | --work | --keep] [-q] [<commit>]"),
N_("git reset [-q] <tree-ish> [--] <paths>..."),
N_("git reset --patch [<tree-ish>] [--] [<paths>...]"),
NULL
@@ -306,8 +306,15 @@ int cmd_reset(int argc, const char **argv, const char *prefix)
}
if (stage >= 0 || working_tree >= 0) {
- if (reset_type != NONE)
+ int keep = 0;
+
+ if (reset_type == KEEP) {
+ if (working_tree == 1)
+ die(_("--keep is incompatible with --work"));
+ keep = 1;
+ } else if (reset_type != NONE) {
die(_("--{stage,work} are incompatible with --{hard,mixed,soft,merge}"));
+ }
if (working_tree == 1) {
if (stage == 0)
@@ -315,7 +322,7 @@ int cmd_reset(int argc, const char **argv, const char *prefix)
reset_type = HARD;
} else {
if (stage == 1)
- reset_type = NONE;
+ reset_type = keep ? KEEP : NONE;
else
reset_type = SOFT;
}
--
1.9.2+fc1.2.gfbaae8c
next prev parent reply other threads:[~2014-04-25 18:24 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-25 18:12 [PATCH v2 try2 00/14] Officially start moving to the term 'staging area' Felipe Contreras
2014-04-25 18:12 ` [PATCH v2 try2 01/14] Add proper 'stage' command Felipe Contreras
2014-04-25 18:12 ` [PATCH v2 try2 02/14] stage: add edit command Felipe Contreras
2014-04-25 18:12 ` [PATCH v2 try2 03/14] diff: document --staged Felipe Contreras
2014-04-25 18:12 ` [PATCH v2 try2 04/14] grep: add --staged option Felipe Contreras
2014-04-25 18:12 ` [PATCH v2 try2 05/14] rm: " Felipe Contreras
2014-04-25 18:12 ` [PATCH v2 try2 06/14] stash: add --stage option to save Felipe Contreras
2014-04-25 18:12 ` [PATCH v2 try2 07/14] stash: add --stage to pop and apply Felipe Contreras
2014-04-25 18:12 ` [PATCH v2 try2 08/14] submodule: add --staged options Felipe Contreras
2014-04-25 18:12 ` [PATCH v2 try2 09/14] apply: add --stage option Felipe Contreras
2014-04-25 18:12 ` [PATCH v2 try2 10/14] apply: add --work, --no-work options Felipe Contreras
2014-04-25 18:12 ` [PATCH v2 try2 11/14] completion: update --staged options Felipe Contreras
2014-04-25 18:12 ` [PATCH v2 try2 12/14] reset: add --stage and --work options Felipe Contreras
2014-04-25 18:12 ` Felipe Contreras [this message]
2014-04-25 18:12 ` [PATCH v2 try2 14/14] completion: update 'git reset' new stage options Felipe Contreras
2014-04-26 1:33 ` [PATCH v2 try2 00/14] Officially start moving to the term 'staging area' Hilco Wijbenga
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=1398449567-16314-14-git-send-email-felipe.contreras@gmail.com \
--to=felipe.contreras@gmail.com \
--cc=Matthieu.Moy@grenoble-inp.fr \
--cc=git@vger.kernel.org \
--cc=hilco.wijbenga@gmail.com \
--cc=jaysoffian@gmail.com \
--cc=jrnieder@gmail.com \
--cc=philipoakley@iee.org \
--cc=piotr.krukowiecki.news@gmail.com \
--cc=pkufranky@gmail.com \
--cc=swansontec@gmail.com \
/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).