"svn dcommit --mergeinfo" replaces the svn:mergeinfo property in an upstream SVN repository with the given text. The svn:mergeinfo property may contain commits originating on multiple branches, separated by newlines. Cause space characters in the mergeinfo to be replaced by newlines, allowing a user to create history representing multiple branches being merged into one. Update the corresponding documentation and add a test for the new functionality. Signed-off-by: Bryan Jacobs <bjacobs@woti.com> Acked-by: Sam Vilain <sam@vilain.net> Acked-by: Eric Wong <normalperson@yhbt.net>
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
#
 | 
						|
# Copyright (c) 2010 Steven Walter
 | 
						|
#
 | 
						|
 | 
						|
test_description='git svn mergeinfo propagation'
 | 
						|
 | 
						|
. ./lib-git-svn.sh
 | 
						|
 | 
						|
say 'define NO_SVN_TESTS to skip git svn tests'
 | 
						|
 | 
						|
test_expect_success 'initialize source svn repo' '
 | 
						|
	svn_cmd mkdir -m x "$svnrepo"/trunk &&
 | 
						|
	svn_cmd co "$svnrepo"/trunk "$SVN_TREE" &&
 | 
						|
	(
 | 
						|
		cd "$SVN_TREE" &&
 | 
						|
		touch foo &&
 | 
						|
		svn_cmd add foo &&
 | 
						|
		svn_cmd commit -m "initial commit"
 | 
						|
	) &&
 | 
						|
	rm -rf "$SVN_TREE"
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'clone svn repo' '
 | 
						|
	git svn init "$svnrepo"/trunk &&
 | 
						|
	git svn fetch
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'change svn:mergeinfo' '
 | 
						|
	touch bar &&
 | 
						|
	git add bar &&
 | 
						|
	git commit -m "bar" &&
 | 
						|
	git svn dcommit --mergeinfo="/branches/foo:1-10"
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'verify svn:mergeinfo' '
 | 
						|
	mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/trunk)
 | 
						|
	test "$mergeinfo" = "/branches/foo:1-10"
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'change svn:mergeinfo multiline' '
 | 
						|
	touch baz &&
 | 
						|
	git add baz &&
 | 
						|
	git commit -m "baz" &&
 | 
						|
	git svn dcommit --mergeinfo="/branches/bar:1-10 /branches/other:3-5,8,10-11"
 | 
						|
'
 | 
						|
 | 
						|
test_expect_success 'verify svn:mergeinfo multiline' '
 | 
						|
	mergeinfo=$(svn_cmd propget svn:mergeinfo "$svnrepo"/trunk)
 | 
						|
	test "$mergeinfo" = "/branches/bar:1-10
 | 
						|
/branches/other:3-5,8,10-11"
 | 
						|
'
 | 
						|
 | 
						|
test_done
 |