| 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 | ( |
| 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" |
| 19 | ' |
| 20 | |
| 21 | head=$(git rev-parse --verify HEAD^0) |
| 22 | prev=$(git rev-parse --verify HEAD^1) |
| 23 | |
| 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 |
| 27 | |
| 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 |
| 33 | ' |
| 34 | |
| 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 |
| 42 | ' |
| 43 | |
| 44 | test_done |