Signed-off-by: Elijah Newren <newren@xxxxxxxxx> --- t/t5520-pull.sh | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 58 insertions(+), 0 deletions(-) diff --git a/t/t5520-pull.sh b/t/t5520-pull.sh index 319e389..1624dd3 100755 --- a/t/t5520-pull.sh +++ b/t/t5520-pull.sh @@ -160,4 +160,62 @@ test_expect_success 'pull --rebase works on branch yet to be born' ' test_cmp expect actual ' +test_expect_success 'setup for detecting upstreamed changes' ' + mkdir src && + (cd src && + git init && + for i in $(seq 1 10); do echo $i; done > stuff && + git add stuff && + git commit -m "Initial revision" + ) && + git clone src dst && + (cd src && + perl -pi -e s/5/43/ stuff && + git commit -a -m "5->43" && + perl -pi -e s/6/42/ stuff && + git commit -a -m "Make it bigger" && + correct=$(git rev-parse HEAD) + ) && + (cd dst && + perl -pi -e s/5/43/ stuff && + git commit -a -m "Independent discovery of 5->43" + ) +' + +test_expect_failure 'git pull --rebase detects upstreamed changes' ' + (cd dst && + git pull --rebase && + test -z "$(git ls-files -u)" + ) +' + +test_expect_success 'setup for avoiding reapplying old patches' ' + (cd dst && + (git rebase --abort || true) && + git reset --hard origin/master + ) && + git clone --bare src src-replace.git && + rm -rf src && + mv src-replace.git src && + (cd dst && + perl -pi -e s/2/22/ stuff && + git commit -a -m "Change 2" && + perl -pi -e s/3/33/ stuff && + git commit -a -m "Change 3" && + perl -pi -e s/4/44/ stuff && + git commit -a -m "Change 4" && + git push && + + perl -pi -e s/44/55/ stuff && + git commit --amend -a -m "Modified Change 4" + ) +' + +test_expect_failure 'git pull --rebase does not reapply old patches' ' + (cd dst && + (git pull --rebase || true) && + test 1 = $(find .git/rebase-apply -name "000*" | wc -l) + ) +' + test_done -- 1.7.2.1 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html