Staging
v0.5.1
https://github.com/git/git
Raw File
Tip revision: 95110d75d972dfdd317829ae7feaf42d4f14ab25 authored by Linus Torvalds on 26 April 2009, 19:29:13 UTC
t4202: fix typo
Tip revision: 95110d7
t9133-git-svn-nested-git-repo.sh
#!/bin/sh
#
# Copyright (c) 2009 Eric Wong
#

test_description='git svn property tests'
. ./lib-git-svn.sh

test_expect_success 'setup repo with a git repo inside it' '
	svn co "$svnrepo" s &&
	(
		cd s &&
		git init &&
		test -f .git/HEAD &&
		> .git/a &&
		echo a > a &&
		svn add .git a &&
		svn commit -m "create a nested git repo" &&
		svn up &&
		echo hi >> .git/a &&
		svn commit -m "modify .git/a" &&
		svn up
	)
'

test_expect_success 'clone an SVN repo containing a git repo' '
	git svn clone "$svnrepo" g &&
	echo a > expect &&
	test_cmp expect g/a
'

test_expect_success 'SVN-side change outside of .git' '
	(
		cd s &&
		echo b >> a &&
		svn commit -m "SVN-side change outside of .git" &&
		svn up &&
		svn log -v | fgrep "SVN-side change outside of .git"
	)
'

test_expect_success 'update git svn-cloned repo' '
	(
		cd g &&
		git svn rebase &&
		echo a > expect &&
		echo b >> expect &&
		test_cmp a expect &&
		rm expect
	)
'

test_expect_success 'SVN-side change inside of .git' '
	(
		cd s &&
		git add a &&
		git commit -m "add a inside an SVN repo" &&
		git log &&
		svn add --force .git &&
		svn commit -m "SVN-side change inside of .git" &&
		svn up &&
		svn log -v | fgrep "SVN-side change inside of .git"
	)
'

test_expect_success 'update git svn-cloned repo' '
	(
		cd g &&
		git svn rebase &&
		echo a > expect &&
		echo b >> expect &&
		test_cmp a expect &&
		rm expect
	)
'

test_expect_success 'SVN-side change in and out of .git' '
	(
		cd s &&
		echo c >> a &&
		git add a &&
		git commit -m "add a inside an SVN repo" &&
		svn commit -m "SVN-side change in and out of .git" &&
		svn up &&
		svn log -v | fgrep "SVN-side change in and out of .git"
	)
'

test_expect_success 'update git svn-cloned repo again' '
	(
		cd g &&
		git svn rebase &&
		echo a > expect &&
		echo b >> expect &&
		echo c >> expect &&
		test_cmp a expect &&
		rm expect
	)
'

test_done
back to top