#!/bin/sh test_description='git svn authorship' . ./lib-git-svn.sh test_expect_success 'setup svn repository' ' svn_cmd checkout "$svnrepo" work.svn && ( cd work.svn && echo >file svn_cmd add file svn_cmd commit -m "first commit" file ) ' test_expect_success 'interact with it via git svn' ' mkdir work.git && ( cd work.git && git svn init "$svnrepo" git svn fetch && echo modification >file && test_tick && git commit -a -m second && test_tick && git svn dcommit && echo "further modification" >file && test_tick && git commit -a -m third && test_tick && git svn --add-author-from dcommit && echo "yet further modification" >file && test_tick && git commit -a -m fourth && test_tick && git svn --add-author-from --use-log-author dcommit && git log && git show -s HEAD^^ >../actual.2 && git show -s HEAD^ >../actual.3 && git show -s HEAD >../actual.4 ) && # Make sure that --add-author-from without --use-log-author # did not affect the authorship information myself=$(grep "^Author: " actual.2) && unaffected=$(grep "^Author: " actual.3) && test "z$myself" = "z$unaffected" && # Make sure lack of --add-author-from did not add cruft ! grep "^ From: A U Thor " actual.2 && # Make sure --add-author-from added cruft grep "^ From: A U Thor " actual.3 && grep "^ From: A U Thor " actual.4 && # Make sure --add-author-from with --use-log-author affected # the authorship information grep "^Author: A U Thor " actual.4 && # Make sure there are no commit messages with excess blank lines test $(grep "^ " actual.2 | wc -l) = 3 && test $(grep "^ " actual.3 | wc -l) = 5 && test $(grep "^ " actual.4 | wc -l) = 5 && # Make sure there are no svn commit messages with excess blank lines ( cd work.svn && svn_cmd up && test $(svn_cmd log -r2:2 | wc -l) = 5 && test $(svn_cmd log -r4:4 | wc -l) = 7 ) ' test_done