1

I use git svn bridge and have created some branches that I merged back into master, the problem is if a co-worker fetches the same repo with git-svn, the merge is not shown in his log.

git          svn
-------------------------
master       /trunk
branch1      /branches/branch1
branch2      /branches/branch2

Branches were based on 584..., a few commits to the master on fc80, 8f99, e0fd, 9df1, 536 after that some testcommits to branch1 (989...) and branch2(8b4...) were done.

After this, I merged branch 1 into master, commit id e1b. I worked some more and later on merged branch 2 into master, commit id 422.

All merging is fine, looks good so far.

Now the problem: if another developer fetches the changes using git-svn from svn server, the branches show no merge path.

How can I make sure that the other developers also know when a branch was merged into master?

All fine after merge on my computer: https://i.stack.imgur.com/HrRSn.png enter image description here

Log shown on another computer after git-svn fetch https://i.stack.imgur.com/jLhYV.png enter image description here

sdaau
  • 36,975
  • 46
  • 198
  • 278
Remo Liechti
  • 182
  • 5

1 Answers1

1

git-svn doesn't support merges very well (read: pretty much not at all). This is because, when it was designed, SVN had no way of storing merge information at all, so git-svn turns merge commits into normal commits when submitting them to SVN (or when updating from SVN).

For a potential solution for future merges, look at the documentation of the --mergeinfo option to dcommit in git-svn's manpage. As the text there explains, there are still issues even with this, and it'll probably be necessary to use the -p option to git svn rebase if you have local merges that haven't been dcommitted yet.

Jan Krüger
  • 17,870
  • 3
  • 59
  • 51