3 test_description='diff order'
10 echo "$1" >c/Makefile &&
12 git add a.h b.c c/Makefile d.txt &&
16 test_expect_success 'setup' '
21 cat >order_file_1 <<-\EOF &&
27 cat >order_file_2 <<-\EOF &&
33 cat >expect_none <<-\EOF &&
40 cat >expect_1 <<-\EOF &&
55 test_expect_success "no order (=tree object order)" '
56 git diff --name-only HEAD^..HEAD >actual &&
57 test_cmp expect_none actual
60 test_expect_success 'missing orderfile' '
62 test_must_fail git diff -Obogus_file --name-only HEAD^..HEAD
65 test_expect_success POSIXPERM,SANITY 'unreadable orderfile' '
67 chmod -r unreadable_file &&
68 test_must_fail git diff -Ounreadable_file --name-only HEAD^..HEAD
73 test_expect_success "orderfile using option ($i)" '
74 git diff -Oorder_file_$i --name-only HEAD^..HEAD >actual &&
75 test_cmp expect_$i actual
78 test_expect_success PIPE "orderfile is fifo ($i)" '
82 cat order_file_$i >order_fifo &
84 git diff -O order_fifo --name-only HEAD^..HEAD >actual &&
86 test_cmp expect_$i actual
89 test_expect_success "orderfile using config ($i)" '
90 git -c diff.orderfile=order_file_$i diff --name-only HEAD^..HEAD >actual &&
91 test_cmp expect_$i actual
94 test_expect_success "cancelling configured orderfile ($i)" '
95 git -c diff.orderfile=order_file_$i diff -O/dev/null --name-only HEAD^..HEAD >actual &&
96 test_cmp expect_none actual
100 test_expect_success 'setup for testing combine-diff order' '
101 git checkout -b tmp HEAD~ &&
103 git checkout master &&
104 git merge --no-commit -s ours tmp &&
108 test_expect_success "combine-diff: no order (=tree object order)" '
109 git diff --name-only HEAD HEAD^ HEAD^2 >actual &&
110 test_cmp expect_none actual
115 test_expect_success "combine-diff: orderfile using option ($i)" '
116 git diff -Oorder_file_$i --name-only HEAD HEAD^ HEAD^2 >actual &&
117 test_cmp expect_$i actual