#!/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 &&
		sed -e "s/^58$/5588/" -e "s/^61$/6611/" file >file.munged &&
		mv file.munged 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 &&
	sed -e 's/^4\$/4444/' \
	    -e 's/^7\$/7777/' \
		file >file.munged &&
	mv file.munged 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
