| #!/bin/sh | |
| # | |
| # Copyright (c) 2006 Eric Wong | |
| test_description='git svn commit-diff' | |
| . ./lib-git-svn.sh | |
| test_expect_success 'initialize repo' ' | |
| mkdir import && | |
| ( | |
| cd import && | |
| echo hello >readme && | |
| svn_cmd import -m "initial" . "$svnrepo" | |
| ) && | |
| echo hello > readme && | |
| git update-index --add readme && | |
| git commit -a -m "initial" && | |
| echo world >> readme && | |
| git commit -a -m "another" | |
| ' | |
| head=$(git rev-parse --verify HEAD^0) | |
| prev=$(git rev-parse --verify HEAD^1) | |
| # the internals of the commit-diff command are the same as the regular | |
| # commit, so only a basic test of functionality is needed since we've | |
| # already tested commit extensively elsewhere | |
| test_expect_success 'test the commit-diff command' ' | |
| test -n "$prev" && test -n "$head" && | |
| git svn commit-diff -r1 "$prev" "$head" "$svnrepo" && | |
| svn_cmd co "$svnrepo" wc && | |
| cmp readme wc/readme | |
| ' | |
| test_expect_success 'commit-diff to a sub-directory (with git svn config)' ' | |
| svn_cmd import -m "sub-directory" import "$svnrepo"/subdir && | |
| git svn init --minimize-url "$svnrepo"/subdir && | |
| git svn fetch && | |
| git svn commit-diff -r3 "$prev" "$head" && | |
| svn_cmd cat "$svnrepo"/subdir/readme > readme.2 && | |
| cmp readme readme.2 | |
| ' | |
| test_done |