1#!/bin/sh 2# 3# Copyright (c) 2006 Yann Dirson, based on t3400 by Amos Waterland 4# 5 6test_description='git rebase should detect patches integrated upstream 7 8This test cherry-picks one local change of two into master branch, and 9checks that git rebase succeeds with only the second patch in the 10local branch. 11' 12. ./test-lib.sh 13 14test_expect_success 'prepare repository with topic branch'' 15 test_commit A && 16 git checkout -b my-topic-branch && 17 test_commit B && 18 test_commit C && 19 git checkout -f master && 20 test_commit A2 A.t 21' 22 23test_expect_success 'pick top patch from topic branch into master'' 24 git cherry-pick C && 25 git checkout -f my-topic-branch 26' 27 28test_debug ' 29 git cherry master && 30 git format-patch -k --stdout --full-index master >/dev/null && 31 gitk --all & sleep 1 32' 33 34test_expect_success 'rebase topic branch against new master and check git am did not get halted'' 35 git rebase master && 36 test_path_is_missing .git/rebase-apply 37' 38 39test_expect_success 'rebase --merge topic branch that was partially merged upstream'' 40 git reset --hard C && 41 git rebase --merge master && 42 test_path_is_missing .git/rebase-merge 43' 44 45test_done