t / t7608-merge-messages.shon commit test-reach: test get_merge_bases_many (324dec0)
   1#!/bin/sh
   2
   3test_description='test auto-generated merge messages'
   4. ./test-lib.sh
   5
   6check_oneline() {
   7        echo "$1" | sed "s/Q/'/g" >expect &&
   8        git log -1 --pretty=tformat:%s >actual &&
   9        test_cmp expect actual
  10}
  11
  12test_expect_success 'merge local branch' '
  13        test_commit master-1 &&
  14        git checkout -b local-branch &&
  15        test_commit branch-1 &&
  16        git checkout master &&
  17        test_commit master-2 &&
  18        git merge local-branch &&
  19        check_oneline "Merge branch Qlocal-branchQ"
  20'
  21
  22test_expect_success 'merge octopus branches' '
  23        git checkout -b octopus-a master &&
  24        test_commit octopus-1 &&
  25        git checkout -b octopus-b master &&
  26        test_commit octopus-2 &&
  27        git checkout master &&
  28        git merge octopus-a octopus-b &&
  29        check_oneline "Merge branches Qoctopus-aQ and Qoctopus-bQ"
  30'
  31
  32test_expect_success 'merge tag' '
  33        git checkout -b tag-branch master &&
  34        test_commit tag-1 &&
  35        git checkout master &&
  36        test_commit master-3 &&
  37        git merge tag-1 &&
  38        check_oneline "Merge tag Qtag-1Q"
  39'
  40
  41test_expect_success 'ambiguous tag' '
  42        git checkout -b ambiguous master &&
  43        test_commit ambiguous &&
  44        git checkout master &&
  45        test_commit master-4 &&
  46        git merge ambiguous &&
  47        check_oneline "Merge tag QambiguousQ"
  48'
  49
  50test_expect_success 'remote-tracking branch' '
  51        git checkout -b remote master &&
  52        test_commit remote-1 &&
  53        git update-ref refs/remotes/origin/master remote &&
  54        git checkout master &&
  55        test_commit master-5 &&
  56        git merge origin/master &&
  57        check_oneline "Merge remote-tracking branch Qorigin/masterQ"
  58'
  59
  60test_done