You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
1.9 KiB
84 lines
1.9 KiB
#!/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
|
|
|