Code

git-svn: teach git-svn to populate svn:mergeinfo
authorBryan Jacobs <bjacobs@woti.com>
Wed, 7 Sep 2011 17:36:05 +0000 (13:36 -0400)
committerEric Wong <normalperson@yhbt.net>
Tue, 13 Sep 2011 08:12:13 +0000 (08:12 +0000)
commit1e5814f3def08452aef4caa703f074ba7d167867
tree4d4d43de6777ca1c592e6a95580855f34bc47a13
parent5738c9c21e53356ab5020912116e7f82fd2d428f
git-svn: teach git-svn to populate svn:mergeinfo

Allow git-svn to populate the svn:mergeinfo property automatically in
a narrow range of circumstances. Specifically, when dcommitting a
revision with multiple parents, all but (potentially) the first of
which have been committed to SVN in the same repository as the target
of the dcommit.

In this case, the merge info is the union of that given by each of the
parents, plus all changes introduced to the first parent by the other
parents.

In all other cases where a revision to be committed has multiple
parents, cause "git svn dcommit" to raise an error rather than
completing the commit and potentially losing history information in
the upstream SVN repository.

This behavior is disabled by default, and can be enabled by setting
the svn.pushmergeinfo config option.

[ew: minor style changes and manpage merge fix]

Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Bryan Jacobs <bjacobs@woti.com>
Documentation/git-svn.txt
git-svn.perl
t/t9160-git-svn-mergeinfo-push.sh [new file with mode: 0755]
t/t9160/branches.dump [new file with mode: 0644]