All of lore.kernel.org
 help / color / mirror / Atom feed
From: Piotr Krukowiecki <piotr.krukowiecki@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jeff King <peff@peff.net>,
	git@vger.kernel.org, "Shawn O. Pearce" <spearce@spearce.org>
Subject: Re: git stash: status from current dir not top dir?
Date: Thu, 17 Mar 2011 19:13:26 +0100	[thread overview]
Message-ID: <4D824F46.70107@gmail.com> (raw)
In-Reply-To: <4D7E7065.20908@gmail.com>

W dniu 14.03.2011 20:45, Piotr Krukowiecki pisze:
> 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.

To recap the problem was that "git stash apply" run during tests printed some
debug messages as shown below. In result I could not compare its output with
expected "git status" output.


> Not sure what to do with it?

I found out it was caused by 
    GIT_MERGE_VERBOSITY=5
in test-lib.sh

It was introduced in 8d0fc48f2730 with comment:
    Its really nice to be able to run a test with -v and automatically
    see the "debugging" dump from merge-recursive, especially if we
    are actually trying to debug merge-recursive.

Now I don't know how should I handle this:

    1. unset it just before "git stash apply" in my test
       A safe, local change

    2. remove it from test-lib.sh
       The variable changed git behaviour - might impact tests, should it be
       set by default?

    3. add new option in test-lib.sh to set it (--merge-verbosity?)
       Also looks safe, but still some tests would fail with it
       (which would be mentioned in the option documentation)

    4. change test-lib.sh to set it only when --verbose/--debug is passed
       This seems to be the intention, but test results would be different
       with those options (some tests would fail)!

First three choices look more or less sensible.


> With --verbose I see:
> 
> [...]
> [master b27a2bc] subdir
>  Author: A U Thor <author@example.com>
>  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@gmail.com>
> 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@gmail.com>
> ---
>  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


-- 
Piotr Krukowiecki

  reply	other threads:[~2011-03-17 18:13 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-11 20:49 git stash: status from current dir not top dir? Piotr Krukowiecki
2011-03-11 22:32 ` Jeff King
2011-03-12  8:57   ` Piotr Krukowiecki
2011-03-14  7:29     ` Junio C Hamano
2011-03-14 19:45       ` Piotr Krukowiecki
2011-03-17 18:13         ` Piotr Krukowiecki [this message]
2011-03-17 19:30           ` Junio C Hamano
2011-03-19  9:24             ` Piotr Krukowiecki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D824F46.70107@gmail.com \
    --to=piotr.krukowiecki@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    --cc=spearce@spearce.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.