github.com/stffabi/git-lfs@v2.3.5-0.20180214015214-8eeaa8d88902+incompatible/test/test-submodule-lfsconfig.sh (about)

     1  #!/usr/bin/env bash
     2  
     3  . "test/testlib.sh"
     4  lfsname="submodule-config-test-lfs"
     5  reponame="submodule-config-test-repo"
     6  submodname="submodule-config-test-submodule"
     7  
     8  begin_test "submodule env with .lfsconfig"
     9  (
    10    set -e
    11  
    12    # setup dummy repo with lfs store
    13    # no git data will be pushed, just lfs objects
    14    setup_remote_repo "$lfsname"
    15    echo $GITSERVER/$lfsname.git/info/lfs
    16  
    17    # setup submodule
    18    setup_remote_repo "$submodname"
    19    clone_repo "$submodname" submod
    20    mkdir dir
    21    git config -f .lfsconfig lfs.url "$GITSERVER/$lfsname.git/info/lfs"
    22    git lfs track "*.dat"
    23    submodcontent="submodule lfs file"
    24    submodoid=$(calc_oid "$submodcontent")
    25    printf "$submodcontent" > dir/test.dat
    26    git add .lfsconfig .gitattributes dir
    27    git commit -m "create submodule"
    28    git push origin master
    29  
    30    assert_server_object "$lfsname" "$submodoid"
    31  
    32    # setup repo with submodule
    33    setup_remote_repo "$reponame"
    34    clone_repo "$reponame" repo
    35    git config -f .lfsconfig lfs.url "$GITSERVER/$lfsname.git/info/lfs"
    36    git submodule add "$GITSERVER/$submodname" sub
    37    git submodule update
    38    git lfs track "*.dat"
    39    mkdir dir
    40    repocontent="repository lfs file"
    41    repooid=$(calc_oid "$repocontent")
    42    printf "$repocontent" > dir/test.dat
    43    git add .gitattributes .lfsconfig .gitmodules dir sub
    44    git commit -m "create repo"
    45    git push origin master
    46  
    47    assert_server_object "$lfsname" "$repooid"
    48  
    49    echo "repo"
    50    git lfs env | tee env.log
    51    grep "Endpoint=$GITSERVER/$lfsname.git/info/lfs (auth=basic)$" env.log
    52  
    53    cd sub
    54    echo "./sub"
    55    git lfs env | tee env.log
    56    grep "Endpoint=$GITSERVER/$lfsname.git/info/lfs (auth=basic)$" env.log
    57  
    58    cd dir
    59    echo "./sub/dir"
    60    git lfs env | tee env.log
    61    grep "Endpoint=$GITSERVER/$lfsname.git/info/lfs (auth=basic)$" env.log
    62  )
    63  end_test
    64  
    65  begin_test "submodule update --init --remote with .lfsconfig"
    66  (
    67    set -e
    68    clone_repo "$reponame" clone
    69    grep "$repocontent" dir/test.dat
    70  
    71    git submodule update --init --remote
    72  
    73    grep "$submodcontent" sub/dir/test.dat
    74  )
    75  end_test