]>
Commit | Line | Data |
---|---|---|
45bf473a EW |
1 | #!/bin/sh |
2 | # | |
3 | # Copyright (c) 2006 Eric Wong | |
4 | test_description='git-svn commit-diff clobber' | |
5 | . ./lib-git-svn.sh | |
6 | ||
45bf473a EW |
7 | test_expect_success 'initialize repo' " |
8 | mkdir import && | |
9 | cd import && | |
10 | echo initial > file && | |
11 | svn import -m 'initial' . $svnrepo && | |
12 | cd .. && | |
13 | echo initial > file && | |
14 | git update-index --add file && | |
15 | git commit -a -m 'initial' | |
16 | " | |
17 | test_expect_success 'commit change from svn side' " | |
18 | svn co $svnrepo t.svn && | |
19 | cd t.svn && | |
20 | echo second line from svn >> file && | |
7b3fab87 | 21 | poke file && |
45bf473a EW |
22 | svn commit -m 'second line from svn' && |
23 | cd .. && | |
24 | rm -rf t.svn | |
25 | " | |
26 | ||
27 | test_expect_failure 'commit conflicting change from git' " | |
28 | echo second line from git >> file && | |
29 | git commit -a -m 'second line from git' && | |
30 | git-svn commit-diff -r1 HEAD~1 HEAD $svnrepo | |
31 | " || true | |
32 | ||
33 | test_expect_success 'commit complementing change from git' " | |
34 | git reset --hard HEAD~1 && | |
35 | echo second line from svn >> file && | |
36 | git commit -a -m 'second line from svn' && | |
37 | echo third line from git >> file && | |
38 | git commit -a -m 'third line from git' && | |
39 | git-svn commit-diff -r2 HEAD~1 HEAD $svnrepo | |
40 | " | |
41 | ||
42 | test_expect_failure 'dcommit fails to commit because of conflict' " | |
43 | git-svn init $svnrepo && | |
44 | git-svn fetch && | |
45 | git reset --hard refs/remotes/git-svn && | |
46 | svn co $svnrepo t.svn && | |
47 | cd t.svn && | |
48 | echo fourth line from svn >> file && | |
7b3fab87 | 49 | poke file && |
45bf473a EW |
50 | svn commit -m 'fourth line from svn' && |
51 | cd .. && | |
52 | rm -rf t.svn && | |
53 | echo 'fourth line from git' >> file && | |
54 | git commit -a -m 'fourth line from git' && | |
55 | git-svn dcommit | |
56 | " || true | |
57 | ||
58 | test_expect_success 'dcommit does the svn equivalent of an index merge' " | |
59 | git reset --hard refs/remotes/git-svn && | |
60 | echo 'index merge' > file2 && | |
61 | git update-index --add file2 && | |
62 | git commit -a -m 'index merge' && | |
63 | echo 'more changes' >> file2 && | |
64 | git update-index file2 && | |
65 | git commit -a -m 'more changes' && | |
66 | git-svn dcommit | |
67 | " | |
68 | ||
69 | test_done |