Git fork
at reftables-rust 66 lines 1.3 kB view raw
1#!/bin/sh 2# 3# Copyright (c) 2008 Nguyễn Thái Ngọc Duy 4# 5 6test_description='skip-worktree bit test' 7 8. ./test-lib.sh 9 10sane_unset GIT_TEST_SPLIT_INDEX 11 12test_set_index_version () { 13 GIT_INDEX_VERSION="$1" 14 export GIT_INDEX_VERSION 15} 16 17test_set_index_version 3 18 19test_expect_success 'setup' ' 20 cat >expect.full <<-\EOF && 21 H 1 22 H 2 23 H sub/1 24 H sub/2 25 EOF 26 27 cat >expect.skip <<-\EOF && 28 S 1 29 H 2 30 S sub/1 31 H sub/2 32 EOF 33 34 mkdir sub && 35 touch ./1 ./2 sub/1 sub/2 && 36 git add 1 2 sub/1 sub/2 && 37 git ls-files -t | test_cmp expect.full - 38' 39 40test_expect_success 'index is at version 2' ' 41 test "$(git update-index --show-index-version)" = 2 42' 43 44test_expect_success 'update-index --skip-worktree' ' 45 git update-index --skip-worktree 1 sub/1 && 46 git ls-files -t | test_cmp expect.skip - 47' 48 49test_expect_success 'index is at version 3 after having some skip-worktree entries' ' 50 test "$(git update-index --show-index-version)" = 3 51' 52 53test_expect_success 'ls-files -t' ' 54 git ls-files -t | test_cmp expect.skip - 55' 56 57test_expect_success 'update-index --no-skip-worktree' ' 58 git update-index --no-skip-worktree 1 sub/1 && 59 git ls-files -t | test_cmp expect.full - 60' 61 62test_expect_success 'index version is back to 2 when there is no skip-worktree entry' ' 63 test "$(git update-index --show-index-version)" = 2 64' 65 66test_done