#!/bin/sh # # Copyright (c) 2006 Shawn Pearce # test_description='git-checkout-index --temp test. With --temp flag, git-checkout-index writes to temporary merge files rather than the tracked path.' . ./test-lib.sh test_expect_success \ 'preparation' ' mkdir asubdir && echo tree1path0 >path0 && echo tree1path1 >path1 && echo tree1path3 >path3 && echo tree1path4 >path4 && echo tree1asubdir/path5 >asubdir/path5 && git-update-index --add path0 path1 path3 path4 asubdir/path5 && t1=$(git-write-tree) && rm -f path* .merge_* out .git/index && echo tree2path0 >path0 && echo tree2path1 >path1 && echo tree2path2 >path2 && echo tree2path4 >path4 && git-update-index --add path0 path1 path2 path4 && t2=$(git-write-tree) && rm -f path* .merge_* out .git/index && echo tree2path0 >path0 && echo tree3path1 >path1 && echo tree3path2 >path2 && echo tree3path3 >path3 && git-update-index --add path0 path1 path2 path3 && t3=$(git-write-tree)' test_expect_success \ 'checkout one stage 0 to temporary file' ' rm -f path* .merge_* out .git/index && git-read-tree $t1 && git-checkout-index --temp -- path1 >out && test $(wc -l out && test $(wc -l out && test $(wc -l out && test $(wc -l out && test $(wc -l out && test $(wc -l out && test $(wc -l out && test $(wc -l out && test $(wc -l out && test $(wc -l