#!/bin/sh
#
# Copyright (c) 2007 Eric Wong
test_description='git svn dcommit clobber series'
. ./lib-git-svn.sh

test_expect_success 'initialize repo' '
	mkdir import &&
	(cd import &&
	awk "BEGIN { for (i = 1; i < 64; i++) { print i } }" > file
	svn_cmd import -m "initial" . "$svnrepo"
	) &&
	git svn init "$svnrepo" &&
	git svn fetch &&
	test -e file
	'

test_expect_success '(supposedly) non-conflicting change from SVN' '
	test x"`sed -n -e 58p < file`" = x58 &&
	test x"`sed -n -e 61p < file`" = x61 &&
	svn_cmd co "$svnrepo" tmp &&
	(cd tmp &&
		"$PERL_PATH" -i.bak -p -e "s/^58$/5588/" file &&
		"$PERL_PATH" -i.bak -p -e "s/^61$/6611/" file &&
		poke file &&
		test x"`sed -n -e 58p < file`" = x5588 &&
		test x"`sed -n -e 61p < file`" = x6611 &&
		svn_cmd commit -m "58 => 5588, 61 => 6611"
	)
	'

test_expect_success 'some unrelated changes to git' "
	echo hi > life &&
	git update-index --add life &&
	git commit -m hi-life &&
	echo bye >> life &&
	git commit -m bye-life life
	"

test_expect_success 'change file but in unrelated area' "
	test x\"\`sed -n -e 4p < file\`\" = x4 &&
	test x\"\`sed -n -e 7p < file\`\" = x7 &&
	"$PERL_PATH" -i.bak -p -e 's/^4\$/4444/' file &&
	"$PERL_PATH" -i.bak -p -e 's/^7\$/7777/' file &&
	test x\"\`sed -n -e 4p < file\`\" = x4444 &&
	test x\"\`sed -n -e 7p < file\`\" = x7777 &&
	git commit -m '4 => 4444, 7 => 7777' file &&
	git svn dcommit &&
	svn_cmd up tmp &&
	cd tmp &&
		test x\"\`sed -n -e 4p < file\`\" = x4444 &&
		test x\"\`sed -n -e 7p < file\`\" = x7777 &&
		test x\"\`sed -n -e 58p < file\`\" = x5588 &&
		test x\"\`sed -n -e 61p < file\`\" = x6611
	"

test_expect_success 'attempt to dcommit with a dirty index' '
	echo foo >>file &&
	git add file &&
	test_must_fail git svn dcommit
'

test_done
