Merge branch 'pk/stash-apply-status-relative' into maint

* pk/stash-apply-status-relative:
  Add test: git stash shows status relative to current dir
  git stash: show status relative to current directory
This commit is contained in:
Junio C Hamano 2011-04-01 16:23:43 -07:00
commit 2aa5b6b6c0
2 changed files with 21 additions and 1 deletions

View File

@ -12,6 +12,7 @@ USAGE="list [<options>]
SUBDIRECTORY_OK=Yes SUBDIRECTORY_OK=Yes
OPTIONS_SPEC= OPTIONS_SPEC=
START_DIR=`pwd`
. git-sh-setup . git-sh-setup
require_work_tree require_work_tree
cd_to_toplevel cd_to_toplevel
@ -393,7 +394,7 @@ apply_stash () {
then then
squelch='>/dev/null 2>&1' squelch='>/dev/null 2>&1'
fi fi
eval "git status $squelch" || : (cd "$START_DIR" && eval "git status $squelch") || :
else else
# Merge conflict; keep the exit status from merge-recursive # Merge conflict; keep the exit status from merge-recursive
status=$? status=$?

View File

@ -556,4 +556,23 @@ test_expect_success 'stash branch should not drop the stash if the branch exists
git rev-parse stash@{0} -- git rev-parse stash@{0} --
' '
test_expect_success 'stash apply shows status same as git status (relative to current directory)' '
git stash clear &&
echo 1 >subdir/subfile1 &&
echo 2 >subdir/subfile2 &&
git add subdir/subfile1 &&
git commit -m subdir &&
(
cd subdir &&
echo x >subfile1 &&
echo x >../file &&
git status >../expect &&
git stash &&
sane_unset GIT_MERGE_VERBOSITY &&
git stash apply
) |
sed -e 1,2d >actual && # drop "Saved..." and "HEAD is now..."
test_cmp expect actual
'
test_done test_done