#!/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