Merge branch 'pk/stash-apply-status-relative' into maint
authorJunio C Hamano <gitster@pobox.com>
Fri, 1 Apr 2011 23:23:43 +0000 (16:23 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 1 Apr 2011 23:23:43 +0000 (16:23 -0700)
* pk/stash-apply-status-relative:
Add test: git stash shows status relative to current dir
git stash: show status relative to current directory

1  2 
git-stash.sh
diff --combined git-stash.sh
index 513022890936ab422791503a03128eeead9d88c6,b59c2011626d44f81f4d25b9ae5289f48d9f0b9d..a305fb19f11bc4ae80e585b102ecb5d982d1a0f5
@@@ -12,13 -12,13 +12,14 @@@ USAGE="list [<options>
  
  SUBDIRECTORY_OK=Yes
  OPTIONS_SPEC=
+ START_DIR=`pwd`
  . git-sh-setup
  require_work_tree
  cd_to_toplevel
  
  TMP="$GIT_DIR/.git-stash.$$"
 -trap 'rm -f "$TMP-*"' 0
 +TMPindex=${GIT_INDEX_FILE-"$GIT_DIR/index"}.stash.$$
 +trap 'rm -f "$TMP-"* "$TMPindex"' 0
  
  ref_stash=refs/stash
  
@@@ -82,12 -82,14 +83,12 @@@ create_stash () 
  
                # state of the working tree
                w_tree=$( (
 -                      rm -f "$TMP-index" &&
 -                      cp -p ${GIT_INDEX_FILE-"$GIT_DIR/index"} "$TMP-index" &&
 -                      GIT_INDEX_FILE="$TMP-index" &&
 +                      git read-tree --index-output="$TMPindex" -m $i_tree &&
 +                      GIT_INDEX_FILE="$TMPindex" &&
                        export GIT_INDEX_FILE &&
 -                      git read-tree -m $i_tree &&
                        git diff --name-only -z HEAD | git update-index -z --add --remove --stdin &&
                        git write-tree &&
 -                      rm -f "$TMP-index"
 +                      rm -f "$TMPindex"
                ) ) ||
                        die "Cannot save the current worktree state"
  
@@@ -393,7 -395,7 +394,7 @@@ apply_stash () 
                then
                        squelch='>/dev/null 2>&1'
                fi
-               eval "git status $squelch" || :
+               (cd "$START_DIR" && eval "git status $squelch") || :
        else
                # Merge conflict; keep the exit status from merge-recursive
                status=$?