diff options
Diffstat (limited to 'third_party/git/t/t6012-rev-list-simplify.sh')
-rwxr-xr-x | third_party/git/t/t6012-rev-list-simplify.sh | 157 |
1 files changed, 0 insertions, 157 deletions
diff --git a/third_party/git/t/t6012-rev-list-simplify.sh b/third_party/git/t/t6012-rev-list-simplify.sh deleted file mode 100755 index a10f0df02b..0000000000 --- a/third_party/git/t/t6012-rev-list-simplify.sh +++ /dev/null @@ -1,157 +0,0 @@ -#!/bin/sh - -test_description='merge simplification' - -. ./test-lib.sh - -note () { - git tag "$1" -} - -unnote () { - git name-rev --tags --stdin | sed -e "s|$OID_REGEX (tags/\([^)]*\)) |\1 |g" -} - -# -# Create a test repo with interesting commit graph: -# -# A--B----------G--H--I--K--L -# \ \ / / -# \ \ / / -# C------E---F J -# \_/ -# -# The commits are laid out from left-to-right starting with -# the root commit A and terminating at the tip commit L. -# -# There are a few places where we adjust the commit date or -# author date to make the --topo-order, --date-order, and -# --author-date-order flags produce different output. - -test_expect_success setup ' - echo "Hi there" >file && - echo "initial" >lost && - git add file lost && - test_tick && git commit -m "Initial file and lost" && - note A && - - git branch other-branch && - - git symbolic-ref HEAD refs/heads/unrelated && - git rm -f "*" && - echo "Unrelated branch" >side && - git add side && - test_tick && git commit -m "Side root" && - note J && - git checkout master && - - echo "Hello" >file && - echo "second" >lost && - git add file lost && - test_tick && GIT_AUTHOR_DATE=$(($test_tick + 120)) git commit -m "Modified file and lost" && - note B && - - git checkout other-branch && - - echo "Hello" >file && - >lost && - git add file lost && - test_tick && git commit -m "Modified the file identically" && - note C && - - echo "This is a stupid example" >another-file && - git add another-file && - test_tick && git commit -m "Add another file" && - note D && - - test_tick && - test_must_fail git merge -m "merge" master && - >lost && git commit -a -m "merge" && - note E && - - echo "Yet another" >elif && - git add elif && - test_tick && git commit -m "Irrelevant change" && - note F && - - git checkout master && - echo "Yet another" >elif && - git add elif && - test_tick && git commit -m "Another irrelevant change" && - note G && - - test_tick && git merge -m "merge" other-branch && - note H && - - echo "Final change" >file && - test_tick && git commit -a -m "Final change" && - note I && - - git checkout master && - test_tick && git merge --allow-unrelated-histories -m "Coolest" unrelated && - note K && - - echo "Immaterial" >elif && - git add elif && - test_tick && git commit -m "Last" && - note L -' - -FMT='tformat:%P %H | %s' - -check_outcome () { - outcome=$1 - shift - for c in $1 - do - echo "$c" - done >expect && - shift && - param="$*" && - test_expect_$outcome "log $param" ' - git log --pretty="$FMT" --parents $param | - unnote >actual && - sed -e "s/^.* \([^ ]*\) .*/\1/" >check <actual && - test_cmp expect check - ' -} - -check_result () { - check_outcome success "$@" -} - -check_result 'L K J I H F E D C G B A' --full-history --topo-order -check_result 'L K I H G F E D C B J A' --full-history -check_result 'L K I H G F E D C B J A' --full-history --date-order -check_result 'L K I H G F E D B C J A' --full-history --author-date-order -check_result 'K I H E C B A' --full-history -- file -check_result 'K I H E C B A' --full-history --topo-order -- file -check_result 'K I H E C B A' --full-history --date-order -- file -check_result 'K I H E B C A' --full-history --author-date-order -- file -check_result 'I E C B A' --simplify-merges -- file -check_result 'I E C B A' --simplify-merges --topo-order -- file -check_result 'I E C B A' --simplify-merges --date-order -- file -check_result 'I E B C A' --simplify-merges --author-date-order -- file -check_result 'I B A' -- file -check_result 'I B A' --topo-order -- file -check_result 'I B A' --date-order -- file -check_result 'I B A' --author-date-order -- file -check_result 'H' --first-parent -- another-file -check_result 'H' --first-parent --topo-order -- another-file - -check_result 'E C B A' --full-history E -- lost -test_expect_success 'full history simplification without parent' ' - printf "%s\n" E C B A >expect && - git log --pretty="$FMT" --full-history E -- lost | - unnote >actual && - sed -e "s/^.* \([^ ]*\) .*/\1/" >check <actual && - test_cmp expect check -' - -test_expect_success '--full-diff is not affected by --parents' ' - git log -p --pretty="%H" --full-diff -- file >expected && - git log -p --pretty="%H" --full-diff --parents -- file >actual && - test_cmp expected actual -' - -test_done |