2008-11-15 08:14:24 +08:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
test_description='pull options'
|
|
|
|
|
|
|
|
. ./test-lib.sh
|
|
|
|
|
|
|
|
test_expect_success 'setup' '
|
|
|
|
mkdir parent &&
|
|
|
|
(cd parent && git init &&
|
|
|
|
echo one >file && git add file &&
|
|
|
|
git commit -m one)
|
|
|
|
'
|
|
|
|
|
|
|
|
test_expect_success 'git pull -q' '
|
|
|
|
mkdir clonedq &&
|
2010-02-25 02:22:05 +08:00
|
|
|
(cd clonedq && git init &&
|
|
|
|
git pull -q "../parent" >out 2>err &&
|
2013-06-10 02:29:20 +08:00
|
|
|
test_must_be_empty err &&
|
|
|
|
test_must_be_empty out)
|
2008-11-15 08:14:24 +08:00
|
|
|
'
|
|
|
|
|
2013-03-15 10:26:08 +08:00
|
|
|
test_expect_success 'git pull -q --rebase' '
|
|
|
|
mkdir clonedqrb &&
|
|
|
|
(cd clonedqrb && git init &&
|
|
|
|
git pull -q --rebase "../parent" >out 2>err &&
|
2013-06-10 02:29:20 +08:00
|
|
|
test_must_be_empty err &&
|
|
|
|
test_must_be_empty out &&
|
2013-03-15 10:26:08 +08:00
|
|
|
git pull -q --rebase "../parent" >out 2>err &&
|
2013-06-10 02:29:20 +08:00
|
|
|
test_must_be_empty err &&
|
|
|
|
test_must_be_empty out)
|
2013-03-15 10:26:08 +08:00
|
|
|
'
|
|
|
|
|
2008-11-15 08:14:24 +08:00
|
|
|
test_expect_success 'git pull' '
|
|
|
|
mkdir cloned &&
|
2010-02-25 02:22:05 +08:00
|
|
|
(cd cloned && git init &&
|
|
|
|
git pull "../parent" >out 2>err &&
|
|
|
|
test -s err &&
|
2013-06-10 02:29:20 +08:00
|
|
|
test_must_be_empty out)
|
2008-11-15 08:14:24 +08:00
|
|
|
'
|
|
|
|
|
2013-03-15 10:26:08 +08:00
|
|
|
test_expect_success 'git pull --rebase' '
|
|
|
|
mkdir clonedrb &&
|
|
|
|
(cd clonedrb && git init &&
|
|
|
|
git pull --rebase "../parent" >out 2>err &&
|
|
|
|
test -s err &&
|
2013-06-10 02:29:20 +08:00
|
|
|
test_must_be_empty out)
|
2013-03-15 10:26:08 +08:00
|
|
|
'
|
|
|
|
|
2008-11-15 08:14:24 +08:00
|
|
|
test_expect_success 'git pull -v' '
|
|
|
|
mkdir clonedv &&
|
2010-02-25 02:22:05 +08:00
|
|
|
(cd clonedv && git init &&
|
|
|
|
git pull -v "../parent" >out 2>err &&
|
|
|
|
test -s err &&
|
2013-06-10 02:29:20 +08:00
|
|
|
test_must_be_empty out)
|
2008-11-15 08:14:24 +08:00
|
|
|
'
|
|
|
|
|
2013-03-15 10:26:08 +08:00
|
|
|
test_expect_success 'git pull -v --rebase' '
|
|
|
|
mkdir clonedvrb &&
|
|
|
|
(cd clonedvrb && git init &&
|
|
|
|
git pull -v --rebase "../parent" >out 2>err &&
|
|
|
|
test -s err &&
|
2013-06-10 02:29:20 +08:00
|
|
|
test_must_be_empty out)
|
2013-03-15 10:26:08 +08:00
|
|
|
'
|
|
|
|
|
2008-11-15 08:14:24 +08:00
|
|
|
test_expect_success 'git pull -v -q' '
|
|
|
|
mkdir clonedvq &&
|
2010-02-25 02:22:05 +08:00
|
|
|
(cd clonedvq && git init &&
|
|
|
|
git pull -v -q "../parent" >out 2>err &&
|
2013-06-10 02:29:20 +08:00
|
|
|
test_must_be_empty out &&
|
|
|
|
test_must_be_empty err)
|
2008-11-15 08:14:24 +08:00
|
|
|
'
|
|
|
|
|
|
|
|
test_expect_success 'git pull -q -v' '
|
|
|
|
mkdir clonedqv &&
|
2010-02-25 02:22:05 +08:00
|
|
|
(cd clonedqv && git init &&
|
|
|
|
git pull -q -v "../parent" >out 2>err &&
|
2013-06-10 02:29:20 +08:00
|
|
|
test_must_be_empty out &&
|
2010-02-25 02:22:05 +08:00
|
|
|
test -s err)
|
2008-11-15 08:14:24 +08:00
|
|
|
'
|
|
|
|
|
2010-02-25 02:22:06 +08:00
|
|
|
test_expect_success 'git pull --force' '
|
|
|
|
mkdir clonedoldstyle &&
|
|
|
|
(cd clonedoldstyle && git init &&
|
|
|
|
cat >>.git/config <<-\EOF &&
|
|
|
|
[remote "one"]
|
|
|
|
url = ../parent
|
|
|
|
fetch = refs/heads/master:refs/heads/mirror
|
|
|
|
[remote "two"]
|
|
|
|
url = ../parent
|
|
|
|
fetch = refs/heads/master:refs/heads/origin
|
|
|
|
[branch "master"]
|
|
|
|
remote = two
|
|
|
|
merge = refs/heads/master
|
|
|
|
EOF
|
|
|
|
git pull two &&
|
|
|
|
test_commit A &&
|
|
|
|
git branch -f origin &&
|
|
|
|
git pull --all --force
|
|
|
|
)
|
|
|
|
'
|
|
|
|
|
2010-02-25 03:02:05 +08:00
|
|
|
test_expect_success 'git pull --all' '
|
|
|
|
mkdir clonedmulti &&
|
|
|
|
(cd clonedmulti && git init &&
|
|
|
|
cat >>.git/config <<-\EOF &&
|
|
|
|
[remote "one"]
|
|
|
|
url = ../parent
|
|
|
|
fetch = refs/heads/*:refs/remotes/one/*
|
|
|
|
[remote "two"]
|
|
|
|
url = ../parent
|
|
|
|
fetch = refs/heads/*:refs/remotes/two/*
|
|
|
|
[branch "master"]
|
|
|
|
remote = one
|
|
|
|
merge = refs/heads/master
|
|
|
|
EOF
|
|
|
|
git pull --all
|
|
|
|
)
|
|
|
|
'
|
|
|
|
|
2008-11-15 08:14:24 +08:00
|
|
|
test_done
|