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