]>
Commit | Line | Data |
---|---|---|
9c4a036b BG |
1 | #!/bin/sh |
2 | ||
3 | test_description='fetch --all works correctly' | |
4 | ||
5 | . ./test-lib.sh | |
6 | ||
7 | setup_repository () { | |
8 | mkdir "$1" && ( | |
9 | cd "$1" && | |
10 | git init && | |
11 | >file && | |
12 | git add file && | |
13 | test_tick && | |
14 | git commit -m "Initial" && | |
15 | git checkout -b side && | |
16 | >elif && | |
17 | git add elif && | |
18 | test_tick && | |
19 | git commit -m "Second" && | |
20 | git checkout master | |
21 | ) | |
22 | } | |
23 | ||
24 | test_expect_success setup ' | |
25 | setup_repository one && | |
26 | setup_repository two && | |
27 | ( | |
28 | cd two && git branch another | |
29 | ) && | |
30 | git clone --mirror two three | |
31 | git clone one test | |
32 | ' | |
33 | ||
34 | cat > test/expect << EOF | |
35 | one/master | |
36 | one/side | |
37 | origin/HEAD -> origin/master | |
38 | origin/master | |
39 | origin/side | |
40 | three/another | |
41 | three/master | |
42 | three/side | |
43 | two/another | |
44 | two/master | |
45 | two/side | |
46 | EOF | |
47 | ||
48 | test_expect_success 'git fetch --all' ' | |
49 | (cd test && | |
50 | git remote add one ../one && | |
51 | git remote add two ../two && | |
52 | git remote add three ../three && | |
53 | git fetch --all && | |
54 | git branch -r > output && | |
55 | test_cmp expect output) | |
56 | ' | |
57 | ||
58 | test_expect_success 'git fetch --all should continue if a remote has errors' ' | |
59 | (git clone one test2 && | |
60 | cd test2 && | |
61 | git remote add bad ../non-existing && | |
62 | git remote add one ../one && | |
63 | git remote add two ../two && | |
64 | git remote add three ../three && | |
65 | test_must_fail git fetch --all && | |
66 | git branch -r > output && | |
67 | test_cmp ../test/expect output) | |
68 | ' | |
69 | ||
70 | test_expect_success 'git fetch --all does not allow non-option arguments' ' | |
71 | (cd test && | |
72 | test_must_fail git fetch --all origin && | |
73 | test_must_fail git fetch --all origin master) | |
74 | ' | |
75 | ||
76 | test_done |