зеркало из https://github.com/microsoft/git.git
git-svn: Teach dcommit --mergeinfo to handle multiple lines
"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>
This commit is contained in:
Родитель
85f022e9c1
Коммит
98c4ab32f8
|
@ -222,8 +222,9 @@ discouraged.
|
|||
Add the given merge information during the dcommit
|
||||
(e.g. `--mergeinfo="/branches/foo:1-10"`). All svn server versions can
|
||||
store this information (as a property), and svn clients starting from
|
||||
version 1.5 can make use of it. 'git svn' currently does not use it
|
||||
and does not set it automatically.
|
||||
version 1.5 can make use of it. To specify merge information from multiple
|
||||
branches, use a single space character between the branches
|
||||
(`--mergeinfo="/branches/foo:1-10 /branches/bar:3,5-6,8"`)
|
||||
|
||||
'branch'::
|
||||
Create a branch in the SVN repository.
|
||||
|
|
|
@ -559,6 +559,9 @@ sub cmd_dcommit {
|
|||
}
|
||||
my $expect_url = $url;
|
||||
Git::SVN::remove_username($expect_url);
|
||||
if (defined($_merge_info)) {
|
||||
$_merge_info =~ tr{ }{\n};
|
||||
}
|
||||
while (1) {
|
||||
my $d = shift @$linear_refs or last;
|
||||
unless (defined $last_rev) {
|
||||
|
|
|
@ -38,4 +38,17 @@ test_expect_success 'verify svn:mergeinfo' '
|
|||
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
|
||||
|
|
Загрузка…
Ссылка в новой задаче