diff options
Diffstat (limited to 'third_party/git/t/t7060-wtstatus.sh')
-rwxr-xr-x | third_party/git/t/t7060-wtstatus.sh | 251 |
1 files changed, 0 insertions, 251 deletions
diff --git a/third_party/git/t/t7060-wtstatus.sh b/third_party/git/t/t7060-wtstatus.sh deleted file mode 100755 index d5218743e963..000000000000 --- a/third_party/git/t/t7060-wtstatus.sh +++ /dev/null @@ -1,251 +0,0 @@ -#!/bin/sh - -test_description='basic work tree status reporting' - -. ./test-lib.sh - -test_expect_success setup ' - git config --global advice.statusuoption false && - 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 -' - -test_expect_success 'M/D conflict does not segfault' ' - cat >expect <<EOF && -On branch side -You have unmerged paths. - (fix conflicts and run "git commit") - (use "git merge --abort" to abort the merge) - -Unmerged paths: - (use "git add/rm <file>..." as appropriate to mark resolution) - deleted by us: foo - -no changes added to commit (use "git add" and/or "git commit -a") -EOF - 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_i18ncmp ../expect ../actual && - git status >../actual && - test_i18ncmp ../expect ../actual - ) -' - -test_expect_success 'rename & unmerged setup' ' - git rm -f -r . && - cat "$TEST_DIRECTORY/README" >ONE && - git add ONE && - test_tick && - git commit -m "One commit with ONE" && - - echo Modified >TWO && - cat ONE >>TWO && - cat ONE >>THREE && - git add TWO THREE && - sha1=$(git rev-parse :ONE) && - git rm --cached ONE && - ( - echo "100644 $sha1 1 ONE" && - echo "100644 $sha1 2 ONE" && - echo "100644 $sha1 3 ONE" - ) | git update-index --index-info && - echo Further >>THREE -' - -test_expect_success 'rename & unmerged status' ' - git status -suno >actual && - cat >expect <<-EOF && - UU ONE - AM THREE - A TWO - EOF - test_cmp expect actual -' - -test_expect_success 'git diff-index --cached shows 2 added + 1 unmerged' ' - cat >expected <<-EOF && - U ONE - A THREE - A TWO - EOF - git diff-index --cached --name-status HEAD >actual && - test_cmp expected actual -' - -test_expect_success 'git diff-index --cached -M shows 2 added + 1 unmerged' ' - cat >expected <<-EOF && - U ONE - A THREE - A TWO - EOF - git diff-index --cached -M --name-status HEAD >actual && - test_cmp expected actual -' - -test_expect_success 'git diff-index --cached -C shows 2 copies + 1 unmerged' ' - cat >expected <<-EOF && - U ONE - C ONE THREE - C ONE TWO - EOF - git diff-index --cached -C --name-status HEAD | - sed "s/^C[0-9]*/C/g" >actual && - test_cmp expected actual -' - - -test_expect_success 'status when conflicts with add and rm advice (deleted by them)' ' - git reset --hard && - git checkout master && - test_commit init main.txt init && - git checkout -b second_branch && - git rm main.txt && - git commit -m "main.txt deleted on second_branch" && - test_commit second conflict.txt second && - git checkout master && - test_commit on_second main.txt on_second && - test_commit master conflict.txt master && - test_must_fail git merge second_branch && - cat >expected <<\EOF && -On branch master -You have unmerged paths. - (fix conflicts and run "git commit") - (use "git merge --abort" to abort the merge) - -Unmerged paths: - (use "git add/rm <file>..." as appropriate to mark resolution) - both added: conflict.txt - deleted by them: main.txt - -no changes added to commit (use "git add" and/or "git commit -a") -EOF - git status --untracked-files=no >actual && - test_i18ncmp expected actual -' - - -test_expect_success 'prepare for conflicts' ' - git reset --hard && - git checkout -b conflict && - test_commit one main.txt one && - git branch conflict_second && - git mv main.txt sub_master.txt && - git commit -m "main.txt renamed in sub_master.txt" && - git checkout conflict_second && - git mv main.txt sub_second.txt && - git commit -m "main.txt renamed in sub_second.txt" -' - - -test_expect_success 'status when conflicts with add and rm advice (both deleted)' ' - test_must_fail git merge conflict && - cat >expected <<\EOF && -On branch conflict_second -You have unmerged paths. - (fix conflicts and run "git commit") - (use "git merge --abort" to abort the merge) - -Unmerged paths: - (use "git add/rm <file>..." as appropriate to mark resolution) - both deleted: main.txt - added by them: sub_master.txt - added by us: sub_second.txt - -no changes added to commit (use "git add" and/or "git commit -a") -EOF - git status --untracked-files=no >actual && - test_i18ncmp expected actual -' - - -test_expect_success 'status when conflicts with only rm advice (both deleted)' ' - git reset --hard conflict_second && - test_must_fail git merge conflict && - git add sub_master.txt && - git add sub_second.txt && - cat >expected <<\EOF && -On branch conflict_second -You have unmerged paths. - (fix conflicts and run "git commit") - (use "git merge --abort" to abort the merge) - -Changes to be committed: - new file: sub_master.txt - -Unmerged paths: - (use "git rm <file>..." to mark resolution) - both deleted: main.txt - -Untracked files not listed (use -u option to show untracked files) -EOF - git status --untracked-files=no >actual && - test_i18ncmp expected actual && - git reset --hard && - git checkout master -' - -test_expect_success 'status --branch with detached HEAD' ' - git reset --hard && - git checkout master^0 && - git status --branch --porcelain >actual && - cat >expected <<-EOF && - ## HEAD (no branch) - ?? .gitconfig - ?? actual - ?? expect - ?? expected - ?? mdconflict/ - EOF - test_i18ncmp expected actual -' - -## Duplicate the above test and verify --porcelain=v1 arg parsing. -test_expect_success 'status --porcelain=v1 --branch with detached HEAD' ' - git reset --hard && - git checkout master^0 && - git status --branch --porcelain=v1 >actual && - cat >expected <<-EOF && - ## HEAD (no branch) - ?? .gitconfig - ?? actual - ?? expect - ?? expected - ?? mdconflict/ - EOF - test_i18ncmp expected actual -' - -## Verify parser error on invalid --porcelain argument. -test_expect_success 'status --porcelain=bogus' ' - test_must_fail git status --porcelain=bogus -' - -test_done |