All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Gummerer <t.gummerer@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>, "Jeff King" <peff@peff.net>,
	"Johannes Schindelin" <Johannes.Schindelin@gmx.de>,
	sunny@sunbase.org, "Jakub Narębski" <jnareb@gmail.com>,
	"Matthieu Moy" <Matthieu.Moy@grenoble-inp.fr>,
	"Thomas Gummerer" <t.gummerer@gmail.com>
Subject: [PATCH v8 0/6] stash: support pathspec argument
Date: Tue, 28 Feb 2017 20:33:34 +0000	[thread overview]
Message-ID: <20170228203340.18723-1-t.gummerer@gmail.com> (raw)
In-Reply-To: <20170225213306.2410-1-t.gummerer@gmail.com>

Thanks Junio for the review and the squashable diff with the fix for
my errors.

I changed it a tiny bit, to use git stash push instead of git stash,
so the complete diff could go into 4/6, where I think I think the test
fits best.

Interdiff below:

diff --git a/git-stash.sh b/git-stash.sh
index 28d0624c75..207c8126f4 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -300,6 +300,8 @@ push_stash () {
 		if test $# != 0
 		then
 			git reset ${GIT_QUIET:+-q} -- "$@"
+			git ls-files -z --modified -- "$@" |
+			git checkout-index -z --force --stdin
 			git checkout ${GIT_QUIET:+-q} HEAD -- $(git ls-files -z --modified "$@")
 			git clean --force ${GIT_QUIET:+-q} -d -- "$@"
 		else
diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh
index f7733b4dd4..89877e4b52 100755
--- a/t/t3903-stash.sh
+++ b/t/t3903-stash.sh
@@ -842,6 +842,22 @@ test_expect_success 'stash with file including $IFS character' '
 	test_path_is_file bar
 '
 
+test_expect_success 'stash with pathspec matching multiple paths' '
+       echo original >file &&
+       echo original >other-file &&
+       git commit -m "two" file other-file &&
+       echo modified >file &&
+       echo modified >other-file &&
+       git stash push -- "*file" &&
+       echo original >expect &&
+       test_cmp expect file &&
+       test_cmp expect other-file &&
+       git stash pop &&
+       echo modified >expect &&
+       test_cmp expect file &&
+       test_cmp expect other-file
+'
+
 test_expect_success 'stash push -p with pathspec shows no changes only once' '
 	>foo &&
 	git add foo &&

Thomas Gummerer (6):
  stash: introduce push verb
  stash: add test for the create command line arguments
  stash: refactor stash_create
  stash: teach 'push' (and 'create_stash') to honor pathspec
  stash: use stash_push for no verb form
  stash: allow pathspecs in the no verb form

 Documentation/git-stash.txt        |  25 +++++--
 git-stash.sh                       | 116 +++++++++++++++++++++++++------
 t/t3903-stash.sh                   | 138 ++++++++++++++++++++++++++++++++++++-
 t/t3905-stash-include-untracked.sh |  26 +++++++
 4 files changed, 275 insertions(+), 30 deletions(-)

-- 
2.12.0.428.g67fe103aa


  parent reply	other threads:[~2017-02-28 20:35 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailto:20170205202642.14216-1-t.gummerer@gmail.com>
2017-02-12 21:54 ` [PATCH v4 0/7] stash: support pathspec argument Thomas Gummerer
2017-02-12 21:54   ` [PATCH v4 1/7] Documentation/stash: remove mention of git reset --hard Thomas Gummerer
2017-02-12 21:54   ` [PATCH v4 2/7] stash: introduce push verb Thomas Gummerer
2017-02-12 21:54   ` [PATCH v4 3/7] stash: add test for the create command line arguments Thomas Gummerer
2017-02-12 21:54   ` [PATCH v4 4/7] stash: introduce new format create Thomas Gummerer
     [not found]     ` <vpqefz0ohub.fsf@anie.imag.fr>
2017-02-14 21:40       ` Thomas Gummerer
2017-02-12 21:54   ` [PATCH v4 5/7] stash: teach 'push' (and 'create') to honor pathspec Thomas Gummerer
2017-02-12 21:54   ` [PATCH v4 6/7] stash: use stash_push for no verb form Thomas Gummerer
2017-02-12 21:54   ` [PATCH v4 7/7] stash: allow pathspecs in the " Thomas Gummerer
2017-02-12 22:07   ` [PATCH v4 0/7] stash: support pathspec argument Thomas Gummerer
2017-02-17 22:41   ` [PATCH v5 0/6] " Thomas Gummerer
2017-02-17 22:41     ` [PATCH v5 1/6] stash: introduce push verb Thomas Gummerer
2017-02-17 22:41     ` [PATCH v5 2/6] stash: add test for the create command line arguments Thomas Gummerer
2017-02-17 22:41     ` [PATCH v5 3/6] stash: refactor stash_create Thomas Gummerer
2017-02-17 23:48       ` Jeff King
2017-02-19  9:17         ` Thomas Gummerer
2017-02-17 22:41     ` [PATCH v5 4/6] stash: teach 'push' (and 'create_stash') to honor pathspec Thomas Gummerer
2017-02-17 22:41     ` [PATCH v5 5/6] stash: use stash_push for no verb form Thomas Gummerer
2017-02-17 22:41     ` [PATCH v5 6/6] stash: allow pathspecs in the " Thomas Gummerer
2017-02-17 23:46       ` Jeff King
2017-02-19  9:18         ` Thomas Gummerer
2017-02-17 23:01     ` [PATCH v5 0/6] stash: support pathspec argument Junio C Hamano
2017-02-17 23:12       ` Thomas Gummerer
2017-02-17 23:14         ` Junio C Hamano
     [not found]     ` <xmqqr32wph97.fsf@gitster.mtv.corp.google.com>
2017-02-17 23:06       ` Thomas Gummerer
2017-02-19 11:03     ` [PATCH v6 " Thomas Gummerer
2017-02-19 11:03       ` [PATCH v6 1/6] stash: introduce push verb Thomas Gummerer
2017-02-19 11:03       ` [PATCH v6 2/6] stash: add test for the create command line arguments Thomas Gummerer
2017-02-19 11:03       ` [PATCH v6 3/6] stash: refactor stash_create Thomas Gummerer
2017-02-19 11:03       ` [PATCH v6 4/6] stash: teach 'push' (and 'create_stash') to honor pathspec Thomas Gummerer
2017-02-21 16:55         ` Junio C Hamano
2017-02-25 20:27           ` Thomas Gummerer
2017-02-19 11:03       ` [PATCH v6 5/6] stash: use stash_push for no verb form Thomas Gummerer
2017-02-19 11:03       ` [PATCH v6 6/6] stash: allow pathspecs in the " Thomas Gummerer
2017-02-20  7:57       ` [PATCH v6 0/6] stash: support pathspec argument Jeff King
2017-02-20  8:22       ` Junio C Hamano
2017-02-20 19:39       ` Junio C Hamano
2017-02-25 15:57         ` Thomas Gummerer
2017-02-25 21:33       ` [PATCH v7 " Thomas Gummerer
2017-02-25 21:33         ` [PATCH v7 1/6] stash: introduce push verb Thomas Gummerer
2017-02-25 21:33         ` [PATCH v7 2/6] stash: add test for the create command line arguments Thomas Gummerer
2017-02-25 21:33         ` [PATCH v7 3/6] stash: refactor stash_create Thomas Gummerer
2017-02-25 21:33         ` [PATCH v7 4/6] stash: teach 'push' (and 'create_stash') to honor pathspec Thomas Gummerer
2017-02-27 20:32           ` Junio C Hamano
2017-02-27 20:35           ` Junio C Hamano
2017-02-27 21:56             ` Thomas Gummerer
2017-02-27 22:58               ` Junio C Hamano
2017-02-27 21:09           ` Junio C Hamano
2017-02-27 21:53             ` Thomas Gummerer
2017-02-25 21:33         ` [PATCH v7 5/6] stash: use stash_push for no verb form Thomas Gummerer
2017-02-25 21:33         ` [PATCH v7 6/6] stash: allow pathspecs in the " Thomas Gummerer
2017-02-28 20:33         ` Thomas Gummerer [this message]
2017-02-28 20:33           ` [PATCH v8 1/6] stash: introduce push verb Thomas Gummerer
2017-02-28 20:33           ` [PATCH v8 2/6] stash: add test for the create command line arguments Thomas Gummerer
2017-02-28 20:33           ` [PATCH v8 3/6] stash: refactor stash_create Thomas Gummerer
2017-02-28 20:33           ` [PATCH v8 4/6] stash: teach 'push' (and 'create_stash') to honor pathspec Thomas Gummerer
2017-02-28 22:15             ` Junio C Hamano
2017-03-01 21:57               ` Thomas Gummerer
2017-03-01 22:43                 ` Junio C Hamano
2017-02-28 20:33           ` [PATCH v8 5/6] stash: use stash_push for no verb form Thomas Gummerer
2017-02-28 20:33           ` [PATCH v8 6/6] stash: allow pathspecs in the " Thomas Gummerer

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=20170228203340.18723-1-t.gummerer@gmail.com \
    --to=t.gummerer@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=Matthieu.Moy@grenoble-inp.fr \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jnareb@gmail.com \
    --cc=peff@peff.net \
    --cc=sunny@sunbase.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.