stash: refactor stash_create
Refactor the internal stash_create function to use a -m flag for specifying the message and -u flag to indicate whether untracked files should be added to the stash. This makes it easier to pass a pathspec argument to stash_create in the next patch. The user interface for git stash create stays the same. Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
6f5ccd4df5
commit
9ca6326dff
22
git-stash.sh
22
git-stash.sh
|
|
@ -58,8 +58,22 @@ clear_stash () {
|
||||||
}
|
}
|
||||||
|
|
||||||
create_stash () {
|
create_stash () {
|
||||||
stash_msg="$1"
|
stash_msg=
|
||||||
untracked="$2"
|
untracked=
|
||||||
|
while test $# != 0
|
||||||
|
do
|
||||||
|
case "$1" in
|
||||||
|
-m|--message)
|
||||||
|
shift
|
||||||
|
stash_msg=${1?"BUG: create_stash () -m requires an argument"}
|
||||||
|
;;
|
||||||
|
-u|--include-untracked)
|
||||||
|
shift
|
||||||
|
untracked=${1?"BUG: create_stash () -u requires an argument"}
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
git update-index -q --refresh
|
git update-index -q --refresh
|
||||||
if no_changes
|
if no_changes
|
||||||
|
|
@ -268,7 +282,7 @@ push_stash () {
|
||||||
git reflog exists $ref_stash ||
|
git reflog exists $ref_stash ||
|
||||||
clear_stash || die "$(gettext "Cannot initialize stash")"
|
clear_stash || die "$(gettext "Cannot initialize stash")"
|
||||||
|
|
||||||
create_stash "$stash_msg" $untracked
|
create_stash -m "$stash_msg" -u "$untracked"
|
||||||
store_stash -m "$stash_msg" -q $w_commit ||
|
store_stash -m "$stash_msg" -q $w_commit ||
|
||||||
die "$(gettext "Cannot save the current status")"
|
die "$(gettext "Cannot save the current status")"
|
||||||
say "$(eval_gettext "Saved working directory and index state \$stash_msg")"
|
say "$(eval_gettext "Saved working directory and index state \$stash_msg")"
|
||||||
|
|
@ -667,7 +681,7 @@ clear)
|
||||||
;;
|
;;
|
||||||
create)
|
create)
|
||||||
shift
|
shift
|
||||||
create_stash "$*" && echo "$w_commit"
|
create_stash -m "$*" && echo "$w_commit"
|
||||||
;;
|
;;
|
||||||
store)
|
store)
|
||||||
shift
|
shift
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue