Re: [PATCH 1/3] t7300: add tests to document behavior of clean and nested git

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



will fix!

On Tue, Apr 7, 2015 at 12:06 AM, Eric Sunshine <sunshine@xxxxxxxxxxxxxx> wrote:
> On Mon, Apr 6, 2015 at 7:48 AM, Erik Elfström <erik.elfstrom@xxxxxxxxx> wrote:
>> Signed-off-by: Erik Elfström <erik.elfstrom@xxxxxxxxx>
>> ---
>> diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh
>> index 99be5d9..cfdf6d4 100755
>> --- a/t/t7300-clean.sh
>> +++ b/t/t7300-clean.sh
>> @@ -455,6 +455,88 @@ test_expect_success 'nested git work tree' '
>>         ! test -d bar
>>  '
>>
>> +test_expect_failure 'nested git (only init) should be kept' '
>> +       rm -fr foo bar &&
>> +       mkdir foo bar &&
>> +       (
>> +               cd foo &&
>> +               git init
>> +       ) &&
>> +       (
>> +               cd bar &&
>> +               >goodbye.people
>> +       ) &&
>
> (minor; ignore if desired) The above could be simplified to:
>
>     rm -fr foo bar &&
>     git init foo &&
>     mkdir bar &&
>     >bar/goodbye.people &&
>
>> +       git clean -f -d &&
>> +       test -f foo/.git/HEAD &&
>> +       ! test -d bar
>
> Here and elsewhere, you could instead use test_path_is_file() and
> test_path_is_missing(), respectively.
>
>> +'
>> +
>> +test_expect_failure 'nested git (bare) should be kept' '
>> +       rm -fr foo bar &&
>> +       mkdir foo bar &&
>> +       (
>> +               cd foo &&
>> +               git init --bare
>> +       ) &&
>> +       (
>> +               cd bar &&
>> +               >goodbye.people
>> +       ) &&
>
> Simplified:
>
>     rm -fr foo bar &&
>     git init --bare foo &&
>     mkdir bar &&
>     >bar/goodbye.people &&
>
>> +       git clean -f -d &&
>> +       test -f foo/HEAD &&
>> +       ! test -d bar
>> +'
>> +
>> +test_expect_success 'giving path in nested git work tree will remove it' '
>> +       rm -fr foo &&
>> +       mkdir foo &&
>> +       (
>> +               cd foo &&
>> +               git init &&
>> +               mkdir -p bar/baz &&
>> +               cd bar/baz &&
>> +               >hello.world
>> +               git add . &&
>> +               git commit -a -m nested
>> +       ) &&
>> +       git clean -f -d foo/bar/baz &&
>> +       test -f foo/.git/HEAD &&
>> +       test -d foo/bar/ &&
>
> Alternative, here and elsewhere: test_path_is_dir()
>
>> +       ! test -d foo/bar/baz
>> +'
>> +
>> +test_expect_success 'giving path to nested .git will not remove it' '
>> +       rm -fr foo &&
>> +       mkdir foo bar &&
>> +       (
>> +               cd foo &&
>> +               git init &&
>> +               >hello.world
>> +               git add . &&
>> +               git commit -a -m nested
>> +       ) &&
>> +       git clean -f -d foo/.git &&
>> +       test -f foo/.git/HEAD &&
>> +       test -d foo/.git/refs &&
>> +       test -d foo/.git/objects &&
>> +       test -d bar/
>> +'
>> +
>> +test_expect_success 'giving path to nested .git/ will remove contents' '
>> +       rm -fr foo bar &&
>> +       mkdir foo bar &&
>> +       (
>> +               cd foo &&
>> +               git init &&
>> +               >hello.world
>> +               git add . &&
>> +               git commit -a -m nested
>> +       ) &&
>> +       git clean -f -d foo/.git/ &&
>> +       test 0 = $(ls -A foo/.git | wc -l) &&
>
> Although in the latest POSIX, -A may not be portable.
>
> Alternative: test_dir_is_empty()
>
>> +       test -d foo/.git
>> +'
>> +
>>  test_expect_success 'force removal of nested git work tree' '
>>         rm -fr foo bar baz &&
>>         mkdir -p foo bar baz/boo &&
>> --
>> 2.4.0.rc0.37.ga3b75b3
--
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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]