aboutsummaryrefslogtreecommitdiff
path: root/t/t9165-git-svn-fetch-merge-branch-of-branch.sh
blob: fa3ef3b1f7408840cabc5eacb1b1851f1c8afaac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/bin/sh
#
# Copyright (c) 2012 Steven Walter
#

test_description='git svn merge detection'
. ./lib-git-svn.sh

svn_ver="$(svn --version --quiet)"
case $svn_ver in
0.* | 1.[0-4].*)
	skip_all="skipping git-svn test - SVN too old ($svn_ver)"
	test_done
	;;
esac

test_expect_success 'initialize source svn repo' '
	svn_cmd mkdir -m x "$svnrepo"/trunk &&
	svn_cmd mkdir -m x "$svnrepo"/branches &&
	svn_cmd co "$svnrepo"/trunk "$SVN_TREE" &&
	(
		cd "$SVN_TREE" &&
		touch foo &&
		svn_cmd add foo &&
		svn_cmd commit -m "initial commit" &&
		svn_cmd cp -m branch "$svnrepo"/trunk "$svnrepo"/branches/branch1 &&
		svn_cmd switch "$svnrepo"/branches/branch1 &&
		touch bar &&
		svn_cmd add bar &&
		svn_cmd commit -m branch1 &&
		svn_cmd cp -m branch "$svnrepo"/branches/branch1 "$svnrepo"/branches/branch2 &&
		svn_cmd switch "$svnrepo"/branches/branch2 &&
		touch baz &&
		svn_cmd add baz &&
		svn_cmd commit -m branch2 &&
		svn_cmd switch "$svnrepo"/trunk &&
		touch bar2 &&
		svn_cmd add bar2 &&
		svn_cmd commit -m trunk &&
		svn_cmd switch "$svnrepo"/branches/branch2 &&
		svn_cmd merge "$svnrepo"/trunk &&
		svn_cmd commit -m "merge trunk"
		svn_cmd switch "$svnrepo"/trunk &&
		svn_cmd merge --reintegrate "$svnrepo"/branches/branch2 &&
		svn_cmd commit -m "merge branch2"
	) &&
	rm -rf "$SVN_TREE"
'

test_expect_success 'clone svn repo' '
	git svn init -s "$svnrepo" &&
	git svn fetch
'

test_expect_success 'verify merge commit' 'x=$(git rev-parse HEAD^2) &&
	y=$(git rev-parse origin/branch2) &&
	test "x$x" = "x$y"
'

test_done