archive: handle commits with an empty tree
[git/jnareb-git.git] / t / t9133-git-svn-nested-git-repo.sh
blobf3c30e63b7f584cddb91793b0170f004d866530d
1 #!/bin/sh
3 # Copyright (c) 2009 Eric Wong
6 test_description='git svn property tests'
7 . ./lib-git-svn.sh
9 test_expect_success 'setup repo with a git repo inside it' '
10 svn_cmd co "$svnrepo" s &&
12 cd s &&
13 git init &&
14 test -f .git/HEAD &&
15 > .git/a &&
16 echo a > a &&
17 svn_cmd add .git a &&
18 svn_cmd commit -m "create a nested git repo" &&
19 svn_cmd up &&
20 echo hi >> .git/a &&
21 svn_cmd commit -m "modify .git/a" &&
22 svn_cmd up
26 test_expect_success 'clone an SVN repo containing a git repo' '
27 git svn clone "$svnrepo" g &&
28 echo a > expect &&
29 test_cmp expect g/a
32 test_expect_success 'SVN-side change outside of .git' '
34 cd s &&
35 echo b >> a &&
36 svn_cmd commit -m "SVN-side change outside of .git" &&
37 svn_cmd up &&
38 svn_cmd log -v | fgrep "SVN-side change outside of .git"
42 test_expect_success 'update git svn-cloned repo' '
44 cd g &&
45 git svn rebase &&
46 echo a > expect &&
47 echo b >> expect &&
48 test_cmp a expect &&
49 rm expect
53 test_expect_success 'SVN-side change inside of .git' '
55 cd s &&
56 git add a &&
57 git commit -m "add a inside an SVN repo" &&
58 git log &&
59 svn_cmd add --force .git &&
60 svn_cmd commit -m "SVN-side change inside of .git" &&
61 svn_cmd up &&
62 svn_cmd log -v | fgrep "SVN-side change inside of .git"
66 test_expect_success 'update git svn-cloned repo' '
68 cd g &&
69 git svn rebase &&
70 echo a > expect &&
71 echo b >> expect &&
72 test_cmp a expect &&
73 rm expect
77 test_expect_success 'SVN-side change in and out of .git' '
79 cd s &&
80 echo c >> a &&
81 git add a &&
82 git commit -m "add a inside an SVN repo" &&
83 svn_cmd commit -m "SVN-side change in and out of .git" &&
84 svn_cmd up &&
85 svn_cmd log -v | fgrep "SVN-side change in and out of .git"
89 test_expect_success 'update git svn-cloned repo again' '
91 cd g &&
92 git svn rebase &&
93 echo a > expect &&
94 echo b >> expect &&
95 echo c >> expect &&
96 test_cmp a expect &&
97 rm expect
101 test_done