#!/bin/sh test_description='basic work tree status reporting' . ./test-lib.sh test_expect_success setup ' test_commit A && test_commit B oneside added && git checkout A^0 && test_commit C oneside created ' test_expect_success 'A/A conflict' ' git checkout B^0 && test_must_fail git merge C ' test_expect_success 'Report path with conflict' ' git diff --cached --name-status >actual && echo "U oneside" >expect && test_cmp expect actual ' test_expect_success 'Report new path with conflict' ' git diff --cached --name-status HEAD^ >actual && echo "U oneside" >expect && test_cmp expect actual ' cat >expect <..." to unstage) # (use "git add ..." to mark resolution) # # deleted by us: foo # no changes added to commit (use "git add" and/or "git commit -a") EOF test_expect_success 'M/D conflict does not segfault' ' mkdir mdconflict && ( cd mdconflict && git init && test_commit initial foo "" && test_commit modify foo foo && git checkout -b side HEAD^ && git rm foo && git commit -m delete && test_must_fail git merge master && test_must_fail git commit --dry-run >../actual && test_cmp ../expect ../actual && git status >../actual && test_cmp ../expect ../actual ) ' test_done