git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Daniel Graña" <dangra@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jeff King <peff@peff.net>, git@vger.kernel.org
Subject: Re: [PATCH] Improve tests for detached worktree in git-submodule
Date: Mon, 30 Jul 2012 14:18:22 -0300	[thread overview]
Message-ID: <CAHCkQtPmJdFBk7G-EP70FwtkRk11Utp+rppjNrEZFtZgOVrObA@mail.gmail.com> (raw)
In-Reply-To: <7v6295rxmb.fsf@alter.siamese.dyndns.org>

On Mon, Jul 30, 2012 at 2:02 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Daniel Graña <dangra@gmail.com> writes:
>
>> Signed-off-by: Daniel Graña <dangra@gmail.com>
>> ---
>>  t/t7409-submodule-detached-worktree.sh |   31 ++++++++++++++++++++++++-------
>>  1 files changed, 24 insertions(+), 7 deletions(-)
>>
>> diff --git a/t/t7409-submodule-detached-worktree.sh b/t/t7409-submodule-detached-worktree.sh
>> index db75642..d88f400 100755
>> --- a/t/t7409-submodule-detached-worktree.sh
>> +++ b/t/t7409-submodule-detached-worktree.sh
>> @@ -15,7 +15,11 @@ TEST_NO_CREATE_REPO=1
>>  test_expect_success 'submodule on detached working tree' '
>>       git init --bare remote &&
>>       test_create_repo bundle1 &&
>> -     (cd bundle1 && test_commit "shoot") &&
>> +     (
>> +             cd bundle1 &&
>> +             test_commit "shoot" &&
>> +             git rev-list --max-count=1 HEAD > "$TRASH_DIRECTORY/expect"
>
> Better written as
>
>         git rev-parse --verify HEAD >../expect
>
> methinks.

You rule here,

is it still better than "git rev-parse --max-count=1 HEAD" seen in
t7406-submodule.update.sh?

>
>> +     ) &&
>>       mkdir home &&
>>       (
>>               cd home &&
>> @@ -23,14 +27,27 @@ test_expect_success 'submodule on detached working tree' '
>>               git clone --bare ../remote .dotfiles &&
>>               git submodule add ../bundle1 .vim/bundle/sogood &&
>>               test_commit "sogood" &&
>> +             (
>> +                     unset GIT_WORK_TREE GIT_DIR &&
>> +                     cd .vim/bundle/sogood &&
>> +                     git rev-list --max-count=1 HEAD > actual &&
>> +                     test_cmp actual "$TRASH_DIRECTORY/expect"
>
> Likewise.
>
>         git rev-parse --verify HEAD >actual &&
>         test_cmp ../expect actual

I tried to avoid the too many ".." usage, in that case it'd be:

    test_cmp ../../../../expect actual

>
> As test_cmp turns into "diff -u", comparing expect against actual
> (instead of the other way around) shows the deviation in a more
> readable way when your test fails.

must agree, thanks.


>
>> +             ) &&
>>               git push origin master
>> -     ) &&
>> +     )
>>       mkdir home2 &&
>>       (
>>               cd home2 &&
>> -             export GIT_WORK_TREE="$(pwd)" GIT_DIR="$(pwd)/.dotfiles" &&
>>               git clone --bare ../remote .dotfiles &&
>> -             git submodule update --init
>> +             export GIT_WORK_TREE="$(pwd)" GIT_DIR="$(pwd)/.dotfiles" &&
>
> So you used to clone with the two environment variables in effect to
> create the .otfiles, but now you don't use them while cloning.  That
> makes more sense to me, especially the .otfiles is created "bare".
>
>> +             git checkout master &&
>
> So you populate the newly created home2 working tree out of the .otfiles
> repository in it.

right, before it wasn't creating ~/.gitmodules and "git subodule
update --init" wasn't taking effect.

>
>> +             git submodule update --init &&
>> +             (
>> +                     unset GIT_WORK_TREE GIT_DIR &&
>> +                     cd .vim/bundle/sogood &&
>> +                     git rev-list --max-count=1 HEAD > actual &&
>> +                     test_cmp actual "$TRASH_DIRECTORY/expect"
>
> Likewise.
>
>> +             )
>>       )
>>  '
>>
>> @@ -42,6 +59,7 @@ test_expect_success 'submodule on detached working pointed by core.worktree' '
>>               git clone --bare ../remote "$GIT_DIR" &&
>>               git config core.bare false &&
>>               git config core.worktree .. &&
>> +             git checkout master &&
>>               git submodule add ../bundle1 .vim/bundle/dupe &&
>>               test_commit "dupe" &&
>>               git push origin master
>> @@ -52,9 +70,8 @@ test_expect_success 'submodule on detached working pointed by core.worktree' '
>>               git config core.bare false &&
>>               git config core.worktree .. &&
>>               git pull &&
>> -             git submodule update &&
>> -             git submodule status &&
>> -             test -d .vim/bundle/dupe
>> +             git submodule update --init &&
>> +             test -e .vim/bundle/dupe/shoot.t
>
> Is the "existence" the only thing you care about?  That's not all
> that different from the old test that only checked the existence of
> the directory dupe, no?

Except the submodule wasn't updating but the directory still existed
so test passed, now it check for a file that exists only if the
submodule update works.
I check for file existence as a shortcut for checking for submodule
revision and because I am not sure what else too check honestly.

the real purpose of this test is the use or "core.worktree" instead of
GIT_WORK_TREE.

  reply	other threads:[~2012-07-30 17:18 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-30 16:10 [PATCH] Improve tests for detached worktree in git-submodule Daniel Graña
2012-07-30 16:39 ` Jeff King
     [not found]   ` <CAHCkQtNyNGBm8Z8FP7BybVOW0zQNgpxjwW_akLepYfLc-U+0cg@mail.gmail.com>
2012-07-30 17:06     ` Fwd: " Daniel Graña
2012-07-30 17:02 ` Junio C Hamano
2012-07-30 17:18   ` Daniel Graña [this message]
2012-07-30 17:44     ` Junio C Hamano
2012-07-30 17:51       ` Junio C Hamano
2012-07-30 17:51       ` Daniel Graña
2012-07-30 18:09         ` Junio C Hamano
2012-07-30 18:15           ` Daniel Graña
2012-07-30 17:43   ` Daniel Graña
2012-07-30 17:50     ` Daniel Graña

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

  List information: http://vger.kernel.org/majordomo-info.html

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

  git send-email \
    --in-reply-to=CAHCkQtPmJdFBk7G-EP70FwtkRk11Utp+rppjNrEZFtZgOVrObA@mail.gmail.com \
    --to=dangra@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).