test-tool: handle the `-C <directory>` option just like `git`
[git] / t / t9127-git-svn-partial-rebuild.sh
1 #!/bin/sh
2 #
3 # Copyright (c) 2008 Deskin Miller
4 #
5
6 test_description='git svn partial-rebuild tests'
7 . ./lib-git-svn.sh
8
9 test_expect_success 'initialize svnrepo' '
10         mkdir import &&
11         (
12                 (cd import &&
13                 mkdir trunk branches tags &&
14                 (cd trunk &&
15                 echo foo > foo
16                 ) &&
17                 svn_cmd import -m "import for git-svn" . "$svnrepo" >/dev/null &&
18                 svn_cmd copy "$svnrepo"/trunk "$svnrepo"/branches/a \
19                         -m "created branch a"
20                 ) &&
21                 rm -rf import &&
22                 svn_cmd co "$svnrepo"/trunk trunk &&
23                 (cd trunk &&
24                 echo bar >> foo &&
25                 svn_cmd ci -m "updated trunk"
26                 ) &&
27                 svn_cmd co "$svnrepo"/branches/a a &&
28                 (cd a &&
29                 echo baz >> a &&
30                 svn_cmd add a &&
31                 svn_cmd ci -m "updated a"
32                 ) &&
33                 git svn init --stdlayout "$svnrepo"
34         )
35 '
36
37 test_expect_success 'import an early SVN revision into git' '
38         git svn fetch -r1:2
39 '
40
41 test_expect_success 'make full git mirror of SVN' '
42         mkdir mirror &&
43         (
44                 (cd mirror &&
45                 git init &&
46                 git svn init --stdlayout "$svnrepo" &&
47                 git svn fetch
48                 )
49         )
50 '
51
52 test_expect_success 'fetch from git mirror and partial-rebuild' '
53         git config --add remote.origin.url "file://$PWD/mirror/.git" &&
54         git config --add remote.origin.fetch refs/remotes/*:refs/remotes/* &&
55         git fetch origin &&
56         git svn fetch
57 '
58
59 test_done