W dniu 14.03.2011 08:29, Junio C Hamano pisze: > Piotr Krukowiecki <piotr.krukowiecki@xxxxxxxxx> writes: > >> Subject: [PATCH] git stash: show status relative to current directory >> >> git status shows modified paths relative to current directory, so it's >> possible to copy&paste them directly, even if you're in a subdirectory. >> >> But "git stash apply" always shows status from root of git repository. >> This is misleading because you can't use the paths without modifications. >> >> This is caused by changing directory to root of repository at the >> beginning of git stash. >> >> This patch makes git stash show status relative to current directory. >> Instead of removing the "cd to toplevel", which would affect whole >> script and might have other side-effects, the fix is to change directory >> temporarily back to original dir just before displaying status. >> >> Signed-off-by: Piotr Krukowiecki <piotr.krukowiecki@xxxxxxxxx> >> --- > > Sensible. Thanks. > > Don't we want to protect this output with some tests? Right. Wrote a test but it fails mysteriously. Looks like a debug output is added when test is run as "sh t3903-stash.sh" (the "Merging Version" etc). No such output when "git apply" is run by hand. Not sure what to do with it? With --verbose I see: [...] [master b27a2bc] subdir Author: A U Thor <author@xxxxxxxxxxx> 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 subdir/subfile1 Saved working directory and index state WIP on master: b27a2bc subdir HEAD is now at b27a2bc subdir --- ../output 2011-03-14 19:39:42.473685001 +0000 +++ ../expect 2011-03-14 19:39:42.489685001 +0000 @@ -1,9 +1,3 @@ -Merging Version stash was based on with Stashed changes -Merging: -virtual Version stash was based on -virtual Stashed changes -found 1 common ancestor(s): -virtual 13419d0b4f5b097f61dde4c911de99a154f8286f # On branch master # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) not ok - 41 stash apply shows status same as git status (relative to current directory) ---8<--- From: Piotr Krukowiecki <piotr.krukowiecki@xxxxxxxxx> Date: Mon, 14 Mar 2011 20:19:36 +0100 Subject: [PATCH] Add test: git stash shows status relative to current dir Signed-off-by: Piotr Krukowiecki <piotr.krukowiecki@xxxxxxxxx> --- t/t3903-stash.sh | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-) diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh index 6fd560c..3682f1c 100755 --- a/t/t3903-stash.sh +++ b/t/t3903-stash.sh @@ -556,4 +556,19 @@ test_expect_success 'stash branch should not drop the stash if the branch exists 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 stash && + git stash apply > ../output && + git status > ../expect && + test_cmp ../output ../expect +' + test_done -- 1.7.4.1.228.g9e388 -- Piotr Krukowiecki -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html