]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/sh | |
2 | # | |
3 | # Copyright (c) 2007 Eric Wong | |
4 | test_description='git svn dcommit clobber series' | |
5 | . ./lib-git-svn.sh | |
6 | ||
7 | test_expect_success 'initialize repo' ' | |
8 | mkdir import && | |
9 | (cd import && | |
10 | awk "BEGIN { for (i = 1; i < 64; i++) { print i } }" > file && | |
11 | svn_cmd import -m "initial" . "$svnrepo" | |
12 | ) && | |
13 | git svn init "$svnrepo" && | |
14 | git svn fetch && | |
15 | test -e file | |
16 | ' | |
17 | ||
18 | test_expect_success '(supposedly) non-conflicting change from SVN' ' | |
19 | test x"$(sed -n -e 58p < file)" = x58 && | |
20 | test x"$(sed -n -e 61p < file)" = x61 && | |
21 | svn_cmd co "$svnrepo" tmp && | |
22 | (cd tmp && | |
23 | perl -i.bak -p -e "s/^58$/5588/" file && | |
24 | perl -i.bak -p -e "s/^61$/6611/" file && | |
25 | poke file && | |
26 | test x"$(sed -n -e 58p < file)" = x5588 && | |
27 | test x"$(sed -n -e 61p < file)" = x6611 && | |
28 | svn_cmd commit -m "58 => 5588, 61 => 6611" | |
29 | ) | |
30 | ' | |
31 | ||
32 | test_expect_success 'some unrelated changes to git' " | |
33 | echo hi > life && | |
34 | git update-index --add life && | |
35 | git commit -m hi-life && | |
36 | echo bye >> life && | |
37 | git commit -m bye-life life | |
38 | " | |
39 | ||
40 | test_expect_success 'change file but in unrelated area' " | |
41 | test x\"\$(sed -n -e 4p < file)\" = x4 && | |
42 | test x\"\$(sed -n -e 7p < file)\" = x7 && | |
43 | perl -i.bak -p -e 's/^4\$/4444/' file && | |
44 | perl -i.bak -p -e 's/^7\$/7777/' file && | |
45 | test x\"\$(sed -n -e 4p < file)\" = x4444 && | |
46 | test x\"\$(sed -n -e 7p < file)\" = x7777 && | |
47 | git commit -m '4 => 4444, 7 => 7777' file && | |
48 | git svn dcommit && | |
49 | svn_cmd up tmp && | |
50 | cd tmp && | |
51 | test x\"\$(sed -n -e 4p < file)\" = x4444 && | |
52 | test x\"\$(sed -n -e 7p < file)\" = x7777 && | |
53 | test x\"\$(sed -n -e 58p < file)\" = x5588 && | |
54 | test x\"\$(sed -n -e 61p < file)\" = x6611 | |
55 | " | |
56 | ||
57 | test_expect_success 'attempt to dcommit with a dirty index' ' | |
58 | echo foo >>file && | |
59 | git add file && | |
60 | test_must_fail git svn dcommit | |
61 | ' | |
62 | ||
63 | test_done |