Re: [RFC PATCH v3 2/2] t7406: add test for non-default branch in submodule

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

 



Notes:
    I am aware this test is not probably the best one and maybe I
should have first one test that does a one level non-default, before
trying a test with 2 levels of submodules, but I wanted to express the
goal of the patch.

    Currently the test fails, so I am obviously missing something.
Help would be appreciated.


2018-04-04 1:20 GMT+03:00 Eddy Petrișor <eddy.petrisor@xxxxxxxxxxxxxx>:
> From: Eddy Petrișor <eddy.petrisor@xxxxxxxxx>
>
> If a submodule uses a non-default branch and the branch info is versioned, on
> submodule update --recursive --init the correct branch should be checked out.
>
> Signed-off-by: Eddy Petrișor <eddy.petrisor@xxxxxxxxx>
> ---
>  t/t7406-submodule-update.sh | 54 +++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 54 insertions(+)
>
> diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh
> index 6f083c4d6..7b65f1dd1 100755
> --- a/t/t7406-submodule-update.sh
> +++ b/t/t7406-submodule-update.sh
> @@ -259,6 +259,60 @@ test_expect_success 'submodule update --remote should fetch upstream changes wit
>         )
>  '
>
> +test_expect_success 'submodule update --remote --recursive --init should fetch module branch from .gitmodules' '
> +       git clone . super5 &&
> +       git clone super5 submodl2b2 &&
> +       git clone super5 submodl1b1 &&
> +       cd submodl2b2 &&
> +       echo linel2b2 > l2b2 &&
> +       git checkout -b b2 &&
> +       git add l2b2 &&
> +       test_tick &&
> +       git commit -m "commit on b2 branch in l2" &&
> +       git rev-parse --verify HEAD >../expectl2 &&
> +       git checkout master &&
> +       cd ../submodl1b1 &&
> +       git checkout -b b1 &&
> +       echo linel1b1 > l1b1 &&
> +       git add l1b1 &&
> +       test_tick &&
> +       git commit -m "commit on b1 branch in l1" &&
> +       git submodule add ../submodl2b2 submodl2b2 &&
> +       git config -f .gitmodules submodule."submodl2b2".branch b2 &&
> +       git add .gitmodules &&
> +       test_tick &&
> +       git commit -m "add l2 module with branch b2 in l1 module in branch b1" &&
> +       git submodule init submodl2b2 &&
> +       git rev-parse --verify HEAD >../expectl1 &&
> +       git checkout master &&
> +       cd ../super5 &&
> +       echo super_with_2_chained_modules > super5 &&
> +       git add super5 &&
> +       test_tick &&
> +       git commit -m "commit on default branch in super5" &&
> +       git submodule add ../submodl1b1 submodl1b1 &&
> +       git config -f .gitmodules submodule."submodl1b1".branch b1 &&
> +       git add .gitmodules &&
> +       test_tick &&
> +       git commit -m "add l1 module with branch b1 in super5" &&
> +       git submodule init submodl1b1 &&
> +       git clone super5 super &&
> +       (
> +               cd super &&
> +               git submodule update --recursive --init
> +       ) &&
> +       (
> +               cd submodl1b1 &&
> +               git rev-parse --verify HEAD >../../actuall1 &&
> +               test_cmp ../../expectl1 ../../actuall1
> +       ) &&
> +       (
> +               cd submodl2b2 &&
> +               git rev-parse --verify HEAD >../../../actuall2 &&
> +               test_cmp ../../../expectl2 ../../../actuall2
> +       )
> +'
> +
>  test_expect_success 'local config should override .gitmodules branch' '
>         (cd submodule &&
>          git checkout test-branch &&
> --
> 2.16.2
>



-- 
Eddy Petrișor




[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]

  Powered by Linux