git-svn: proper detection of bare repositories
[git] / t / t9105-git-svn-commit-diff.sh
1 #!/bin/sh
2 #
3 # Copyright (c) 2006 Eric Wong
4 test_description='git svn commit-diff'
5 . ./lib-git-svn.sh
6
7 test_expect_success 'initialize repo' '
8         mkdir import &&
9         cd import &&
10         echo hello > readme &&
11         svn import -m "initial" . "$svnrepo" &&
12         cd .. &&
13         echo hello > readme &&
14         git update-index --add readme &&
15         git commit -a -m "initial" &&
16         echo world >> readme &&
17         git commit -a -m "another"
18         '
19
20 head=`git rev-parse --verify HEAD^0`
21 prev=`git rev-parse --verify HEAD^1`
22
23 # the internals of the commit-diff command are the same as the regular
24 # commit, so only a basic test of functionality is needed since we've
25 # already tested commit extensively elsewhere
26
27 test_expect_success 'test the commit-diff command' '
28         test -n "$prev" && test -n "$head" &&
29         git svn commit-diff -r1 "$prev" "$head" "$svnrepo" &&
30         svn co "$svnrepo" wc &&
31         cmp readme wc/readme
32         '
33
34 test_expect_success 'commit-diff to a sub-directory (with git svn config)' '
35         svn import -m "sub-directory" import "$svnrepo"/subdir &&
36         git svn init --minimize-url "$svnrepo"/subdir &&
37         git svn fetch &&
38         git svn commit-diff -r3 "$prev" "$head" &&
39         svn cat "$svnrepo"/subdir/readme > readme.2 &&
40         cmp readme readme.2
41         '
42
43 test_done