git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] t3513: do not compress backup tar file

From
Junio C Hamano <gitster@pobox.com>
Date
May 6, 2016, 22:45 UTC
Message-ID
<xmqqinyq24cj.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<20160506183705.8214-1-sbeller@google.com>
Stefan Beller <sbeller@google.com> writes:
Show 11 quoted lines
> Armin Kunaschik <megabreit@googlemail.com> wrote:
>> I'm trying to compile/test/use git 2.8.2 on AIX 6.1 with
>> no bash available.
> ...
>> make test does not make it through t3513-revert-submodule.sh anymore.
>> The test is not portable since it uses the z-flags of GNU-tar. When -z
>> is removed, (and extension is changed back to tar) everything runs and
>> tests smoothly.
>
> Signed-off-by: Stefan Beller <sbeller@google.com>
> ---

Thanks for a quick fix. Even though "no bash" and "AIX 6.1" are interesting details that are part of a good bug report, these are irrelevant noise for a commit that fixes a bug that is unrelated to them, so let's rephrase the message and queue it, like this:

    t3513: do not compress backup tar file
    The test uses the 'z' option, i.e. "compress the output while at
    it", which is GNUism and not portable.
    Reported-by: Armin Kunaschik <megabreit@googlemail.com>
    Signed-off-by: Stefan Beller <sbeller@google.com>
    Signed-off-by: Junio C Hamano <gitster@pobox.com>
Show 21 quoted lines
>  t/t3513-revert-submodule.sh | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/t/t3513-revert-submodule.sh b/t/t3513-revert-submodule.sh
> index a1c4e02..db93781 100755
> --- a/t/t3513-revert-submodule.sh
> +++ b/t/t3513-revert-submodule.sh
> @@ -14,11 +14,11 @@ test_description='revert can handle submodules'
>  git_revert () {
>  	git status -su >expect &&
>  	ls -1pR * >>expect &&
> -	tar czf "$TRASH_DIRECTORY/tmp.tgz" * &&
> +	tar cf "$TRASH_DIRECTORY/tmp.tar" * &&
>  	git checkout "$1" &&
>  	git revert HEAD &&
>  	rm -rf * &&
> -	tar xzf "$TRASH_DIRECTORY/tmp.tgz" &&
> +	tar xf "$TRASH_DIRECTORY/tmp.tar" &&
>  	git status -su >actual &&
>  	ls -1pR * >>actual &&
>  	test_cmp expect actual &&

This is not a new problem, but these "ls -1pR" and "rm -rf *" makes me wonder if it is the best way to test what is being tested.

The title says "revert can handle submodules", but when it sees that revert finishes successfully, it discards the resulting working tree state with "rm -rf *" (Yuck) and repopulates with the state before the 'checkout && revert' sequence, so the 'status' and 'ls' are not testing what 'revert' did at all.

Shouldn't it be testing HEAD^{tree} before "checkout && revert" and after and make sure they match, and checking the working state left by 'revert' without clobbering it with tarball extract?

Previous: Stefan BellerNext: Stefan Beller
Message 2 of 3 in “t3513: do not compress backup tar file”
  1. t3513: do not compress backup tar fileStefan Beller, May 6, 2016
  2. Junio C HamanoMay 6, 2016
  3. Stefan BellerMay 6, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.