diff options
author | Brandon Casey <casey@nrlssc.navy.mil> | 2008-02-22 16:52:50 -0600 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-02-22 22:59:11 -0800 |
commit | bd56ff54f710d463a6858bdc7ef6245f9ef30f42 (patch) | |
tree | b25a0d4efe68d24b43d90c37dc84e7f6564909dc | |
parent | e25d5f9c82ef6a676de616bd28751cdfbcd53b15 (diff) | |
download | git-bd56ff54f710d463a6858bdc7ef6245f9ef30f42.tar.gz git-bd56ff54f710d463a6858bdc7ef6245f9ef30f42.tar.xz |
git-stash: add new 'pop' subcommand
This combines the existing stash subcommands 'apply' and 'drop' to
allow a single stash entry to be applied and then dropped, in other
words 'popped', from the stash list.
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | Documentation/git-stash.txt | 8 | ||||
-rwxr-xr-x | git-stash.sh | 10 |
2 files changed, 16 insertions, 2 deletions
diff --git a/Documentation/git-stash.txt b/Documentation/git-stash.txt index f50c24ce9..8dc35d493 100644 --- a/Documentation/git-stash.txt +++ b/Documentation/git-stash.txt @@ -8,7 +8,7 @@ git-stash - Stash the changes in a dirty working directory away SYNOPSIS -------- [verse] -'git-stash' (list | show [<stash>] | apply [<stash>] | clear | drop [<stash>]) +'git-stash' (list | show [<stash>] | apply [<stash>] | clear | drop [<stash>] | pop [<stash>]) 'git-stash' [save [<message>]] DESCRIPTION @@ -90,6 +90,12 @@ drop [<stash>]:: Remove a single stashed state from the stash list. When no `<stash>` is given, it removes the latest one. i.e. `stash@\{0}` +pop [<stash>]:: + + Remove a single stashed state from the stash list and apply on top + of the current working tree state. When no `<stash>` is given, + `stash@\{0}` is assumed. See also `apply`. + DISCUSSION ---------- diff --git a/git-stash.sh b/git-stash.sh index 5e3eb5679..c2b68205a 100755 --- a/git-stash.sh +++ b/git-stash.sh @@ -1,7 +1,7 @@ #!/bin/sh # Copyright (c) 2007, Nanako Shiraishi -USAGE='[ | save | list | show | apply | clear | drop | create ]' +USAGE='[ | save | list | show | apply | clear | drop | pop | create ]' SUBDIRECTORY_OK=Yes OPTIONS_SPEC= @@ -256,6 +256,14 @@ drop) shift drop_stash "$@" ;; +pop) + shift + if apply_stash "$@" + then + test -z "$unstash_index" || shift + drop_stash "$@" + fi + ;; *) if test $# -eq 0 then |