]>
Commit | Line | Data |
---|---|---|
7be1d62c JH |
1 | #!/bin/sh |
2 | # Copyright (c) 2006, Junio C Hamano. | |
3 | ||
4 | test_description='Per branch config variables affects "git fetch". | |
5 | ||
6 | ' | |
7 | ||
8 | . ./test-lib.sh | |
9 | ||
10 | D=`pwd` | |
11 | ||
12 | test_expect_success setup ' | |
13 | echo >file original && | |
14 | git add file && | |
15 | git commit -a -m original' | |
16 | ||
17 | test_expect_success "clone and setup child repos" ' | |
18 | git clone . one && | |
19 | cd one && | |
20 | echo >file updated by one && | |
21 | git commit -a -m "updated by one" && | |
22 | cd .. && | |
23 | git clone . two && | |
24 | cd two && | |
25 | git repo-config branch.master.remote one && | |
26 | { | |
27 | echo "URL: ../one/.git/" | |
28 | echo "Pull: refs/heads/master:refs/heads/one" | |
29 | } >.git/remotes/one | |
6cc7c36d SB |
30 | cd .. && |
31 | git clone . three && | |
32 | cd three && | |
33 | git repo-config branch.master.remote two && | |
34 | git repo-config branch.master.merge refs/heads/one && | |
35 | { | |
36 | echo "URL: ../two/.git/" | |
37 | echo "Pull: refs/heads/master:refs/heads/two" | |
38 | echo "Pull: refs/heads/one:refs/heads/one" | |
39 | } >.git/remotes/two | |
7be1d62c JH |
40 | ' |
41 | ||
42 | test_expect_success "fetch test" ' | |
43 | cd "$D" && | |
44 | echo >file updated by origin && | |
45 | git commit -a -m "updated by origin" && | |
46 | cd two && | |
47 | git fetch && | |
48 | test -f .git/refs/heads/one && | |
49 | mine=`git rev-parse refs/heads/one` && | |
50 | his=`cd ../one && git rev-parse refs/heads/master` && | |
51 | test "z$mine" = "z$his" | |
52 | ' | |
53 | ||
6cc7c36d SB |
54 | test_expect_success "fetch test for-merge" ' |
55 | cd "$D" && | |
56 | cd three && | |
57 | git fetch && | |
58 | test -f .git/refs/heads/two && | |
59 | test -f .git/refs/heads/one && | |
60 | master_in_two=`cd ../two && git rev-parse master` && | |
61 | one_in_two=`cd ../two && git rev-parse one` && | |
62 | { | |
63 | echo "$master_in_two not-for-merge" | |
64 | echo "$one_in_two " | |
65 | } >expected && | |
66 | cut -f -2 .git/FETCH_HEAD >actual && | |
67 | diff expected actual' | |
68 | ||
7be1d62c | 69 | test_done |