diff --git a/test/test-track-attrs.sh b/test/test-track-attrs.sh new file mode 100755 index 00000000..27e0223c --- /dev/null +++ b/test/test-track-attrs.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +. "test/testlib.sh" + +ensure_git_version_isnt $VERSION_LOWER "1.9.0" + +begin_test "track (--no-modify-attrs)" +( + set -e + + reponame="track-no-modify-attrs" + git init "$reponame" + cd "$reponame" + + echo "contents" > a.dat + git add a.dat + + # Git assumes that identical results from `stat(1)` between the index and + # working copy are stat dirty. To prevent this, wait at least one second to + # yield different `stat(1)` results. + sleep 1 + + git commit -m "add a.dat" + + echo "*.dat filter=lfs diff=lfs merge=lfs -text" > .gitattributes + + git add .gitattributes + git commit -m "asdf" + + [ -z "$(git status --porcelain)" ] + + git lfs track --no-modify-attrs "*.dat" + + [ " M a.dat" = "$(git status --porcelain)" ] +) +end_test + diff --git a/test/test-track.sh b/test/test-track.sh index c2c5d635..4dd2a24e 100755 --- a/test/test-track.sh +++ b/test/test-track.sh @@ -463,34 +463,3 @@ begin_test "track escaped pattern" assert_attributes_count "\\#" "filter=lfs" 1 ) end_test - -begin_test "track (--no-modify-attrs)" -( - set -e - - reponame="track-no-modify-attrs" - git init "$reponame" - cd "$reponame" - - echo "contents" > a.dat - git add a.dat - - # Git assumes that identical results from `stat(1)` between the index and - # working copy are stat dirty. To prevent this, wait at least one second to - # yield different `stat(1)` results. - sleep 1 - - git commit -m "add a.dat" - - echo "*.dat filter=lfs diff=lfs merge=lfs -text" > .gitattributes - - git add .gitattributes - git commit -m "asdf" - - [ -z "$(git status --porcelain)" ] - - git lfs track --no-modify-attrs "*.dat" - - [ " M a.dat" = "$(git status --porcelain)" ] -) -end_test