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

     1  #!/usr/bin/env bash
     2  
     3  . "test/testlib.sh"
     4  
     5  begin_test "untrack"
     6  (
     7    set -e
     8  
     9    # no need to setup a remote repo, since this test doesn't need to push or pull
    10  
    11    reponame="untrack"
    12    git init $reponame
    13    cd $reponame
    14  
    15    # track *.jpg once
    16    git lfs track "*.jpg" | grep "Tracking \"\*.jpg\""
    17    echo "* annex.backend=SHA512E" >> .gitattributes
    18  
    19    git lfs untrack "*.jpg"
    20  
    21    expected="* annex.backend=SHA512E"
    22    [ "$expected" = "$(cat .gitattributes)" ]
    23  )
    24  end_test
    25  
    26  begin_test "untrack outside git repo"
    27  (
    28    set -e
    29  
    30    reponame="outside"
    31    mkdir $reponame
    32    cd $reponame
    33  
    34    git lfs untrack "*.foo" || {
    35      # this fails if it's run outside of a git repo using GIT_LFS_TEST_DIR
    36  
    37      # git itself returns an exit status of 128
    38      # $ git show
    39      # fatal: Not a git repository (or any of the parent directories): .git
    40      # $ echo "$?"
    41      # 128
    42  
    43      [ "$?" = "128" ]
    44      exit 0
    45    }
    46  
    47    if [ -n "$GIT_LFS_TEST_DIR" ]; then
    48      echo "GIT_LFS_TEST_DIR should be set outside of any Git repository"
    49      exit 1
    50    fi
    51  )
    52  end_test
    53  
    54  begin_test "untrack removes escape sequences"
    55  (
    56    set -e
    57  
    58    reponame="untrack-remove-escape-sequence"
    59    git init "$reponame"
    60    cd "$reponame"
    61  
    62    git lfs track " " | grep "Tracking \" \""
    63    assert_attributes_count "[[:space:]]" "filter=lfs" 1
    64  
    65    git lfs untrack " " | grep "Untracking \" \""
    66    assert_attributes_count "[[:space:]]" "filter=lfs" 0
    67  
    68    git lfs track "#" | grep "Tracking \"#\""
    69    assert_attributes_count "\\#" "filter=lfs" 1
    70  
    71    git lfs untrack "#" | grep "Untracking \"#\""
    72    assert_attributes_count "\\#" "filter=lfs" 0
    73  )
    74  end_test