git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Felipe Contreras <felipe.contreras@gmail.com>
To: git@vger.kernel.org
Cc: Jonathan Nieder <jrnieder@gmail.com>, Jeff King <peff@peff.net>,
	Ramkumar Ramachandra <artagnon@gmail.com>,
	Felipe Contreras <felipe.contreras@gmail.com>
Subject: [PATCH 2/3] reset: allow --keep with --stage
Date: Thu, 29 Aug 2013 13:19:56 -0500	[thread overview]
Message-ID: <1377800397-5434-3-git-send-email-felipe.contreras@gmail.com> (raw)
In-Reply-To: <1377800397-5434-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 fbc1abc..dde03a7 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
@@ -295,8 +295,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)
@@ -304,7 +311,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.8.4-fc

  parent reply	other threads:[~2013-08-29 18:25 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-29 18:01 Officially start moving to the term 'staging area' Felipe Contreras
2013-08-29 18:09 ` [PATCH 0/2] stage: proper 'stage' command Felipe Contreras
2013-08-29 18:09   ` [PATCH 1/2] Add " Felipe Contreras
2013-08-29 18:38     ` Matthieu Moy
2013-08-29 18:47       ` Felipe Contreras
2013-08-29 18:09   ` [PATCH 2/2] stage: add edit command Felipe Contreras
2013-08-29 18:35     ` Matthieu Moy
2013-08-29 18:42       ` Felipe Contreras
2013-08-29 18:14 ` [PATCH 0/9] Add --stage and --work options Felipe Contreras
2013-08-29 18:14   ` [PATCH 1/9] diff: document --staged Felipe Contreras
2013-08-29 18:14   ` [PATCH 2/9] grep: add --staged option Felipe Contreras
2013-08-29 18:14   ` [PATCH 3/9] rm: " Felipe Contreras
2013-08-29 18:14   ` [PATCH 4/9] stash: add --stage option to save Felipe Contreras
2013-08-29 18:39     ` Matthieu Moy
2013-08-29 18:14   ` [PATCH 5/9] stash: add --stage to pop and apply Felipe Contreras
2013-08-29 18:14   ` [PATCH 6/9] submodule: add --staged options Felipe Contreras
2013-08-29 18:14   ` [PATCH 7/9] apply: add --stage option Felipe Contreras
2013-08-29 18:14   ` [PATCH 8/9] apply: add --work, --no-work options Felipe Contreras
2013-08-29 18:14   ` [PATCH 9/9] completion: update --staged options Felipe Contreras
2013-08-29 18:19 ` [PATCH 0/3] reset: refactor into --stage and --work Felipe Contreras
2013-08-29 18:19   ` [PATCH 1/3] reset: add --stage and --work options Felipe Contreras
     [not found]     ` <CALkWK0=P0xZAk95Jmw9mRUCwPQP7NmVHsuPaWNg+D2v3wP9=-w@mail.gmail.com>
2013-09-08 22:55       ` Felipe Contreras
2013-09-09  0:15         ` Ramkumar Ramachandra
2013-09-09  0:39           ` Felipe Contreras
2013-08-29 18:19   ` Felipe Contreras [this message]
2013-08-29 18:19   ` [PATCH 3/3] completion: update 'git reset' new stage options Felipe Contreras
2013-08-29 18:37 ` Officially start moving to the term 'staging area' Junio C Hamano
2013-08-29 19:57   ` Felipe Contreras
2013-08-30 19:11     ` Felipe Contreras
2013-08-30 20:40       ` Felipe Contreras
2013-08-30 20:42         ` Felipe Contreras
2013-08-30 20:28     ` Felipe Contreras
2013-08-29 21:55   ` Drew Northup
2013-08-29 22:10     ` Felipe Contreras
2013-09-04  4:45       ` Drew Northup
2013-09-08  2:09         ` Felipe Contreras
2013-08-30  5:16     ` Piotr Krukowiecki
2013-09-04  4:23       ` Drew Northup
2013-09-04  7:13         ` Piotr Krukowiecki
2013-09-04 13:36           ` Drew Northup
2013-09-08  1:27             ` Felipe Contreras
2013-09-08  1:18           ` Felipe Contreras
2013-09-08  1:33         ` Felipe Contreras
2013-09-08  7:49           ` Philip Oakley
2013-09-08  9:27             ` Felipe Contreras
2013-08-29 18:50 ` Matthieu Moy
2013-08-29 18:57   ` Felipe Contreras
2013-08-29 19:15     ` Matthieu Moy
2013-08-29 19:21     ` Matthieu Moy
2013-08-29 20:03     ` René Scharfe
2013-08-29 20:36       ` Felipe Contreras
2013-08-31  7:46         ` René Scharfe
2013-08-31  7:53           ` Felipe Contreras
2013-09-01  3:46           ` David Aguilar
2013-08-29 21:03     ` Matthieu Moy
2013-09-04  6:08 ` William Swanson
2013-09-06 15:45   ` Ping Yin
2013-09-06 17:14     ` 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=1377800397-5434-3-git-send-email-felipe.contreras@gmail.com \
    --to=felipe.contreras@gmail.com \
    --cc=artagnon@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jrnieder@gmail.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).