I have a bridge setup for some of my projects, but it's only one-way from git to svn (providing a public readonly SVN mirror of our git master branch). However, since it works fine it might help you or point you in the right direction in your two-way scenario anyway, as I assume it's git->svn that makes problems, not svn->git: My one-way scenario: Existing git repository at github, need a readonly svn mirror of the git master branch Create and initialize the target subversion repository on the Server: svnadmin create svnrepo mkdir trunk svn import trunk svn://yoursvnserver/svnrepo rmdir -rf trunk Create a mixed Git-Svn checkout and initialize subversion repository git svn clone svn://yoursvnserver/svnrepo/trunk cd trunk git remote add github git://github. Com/yourname/repo.
Git git fetch github git branch tmp $(cat . Git/refs/remotes/github/master) git tag -a -m "Last fetch" last tmp INIT_COMMIT=$(git log tmp --pretty=format:%H | tail -1) git checkout $INIT_COMMIT . Git commit -C $INIT_COMMIT git rebase master tmp git branch -M tmp master git svn dcommit --rmdir --find-copies-harder Update the mirror git fetch github git branch tmp $(cat .
Git/refs/remotes/github/master) git tag -a -m "Last fetch" newlast tmp git rebase --onto master last tmp git branch -M tmp master git svn dcommit --rmdir --find-copies-harder mv . Git/refs/tags/newlast . Git/refs/tags/last This two articles from googlecode might help as well: Importing from Git Exporting to Git Using Git with Google Code Hosting Develop with Git on a Google Code Project.
I have voted this answer up, since I think that it is generally useful, however it is based on a flawed premise. The problem is almost certainly not the git->svn, nor the svn->git, at least not directly. Rather the git-svn->git step will be the problem, since the history is being rewritten by the svn->git, which means that the two repositories will no longer have the same history, and life will become confusing.
– Paul Wagland Jul 18 at 19:39.
One thing that may be causing you trouble is that git svn dcommit will rewrite all the commits it sends to SVN- at least if it's configured to add the SVN metadata note to the bottom of the commit messages. So you will have to adopt a flow where any repositories taking commits from your git-svn workspace rebase against it, losing all the merge history which can't be stored in SVN anyway.
Voted up, since this is likely the real cause of the issue, at least based on my understanding of the problem. – Paul Wagland Jul 18 at 19:39.
Based on what I've seen, this workflow isn't supported with git-svn, and won't be, due to the way SVN represents merges.
So this question sits here with one answer for almost a year, and I finally add something so I have something reasonably correct to accept (no offense to Christoph), and then two people pop out of the woodwork to offer versions of the same thing I posted. Awesome. – genehack Feb 15 '10 at 23:45.
As I've often said on #git: git-svn is like a flying car. Everybody wants a flying car, until they realize a flying car is pretty bad as either a car or a plane. The real solution is to get away from SVN entirely, as quickly as possible.
Use git-svn for a one-time migrate, then move everyone over. Git is not that hard to learn.
4 Your real solution presumes that the choice of moving away from Subversion is available. Short of "move to a new job", sometimes it isn't. – genehack Apr 29 '10 at 15:01.
Using git and git-svn 1.7.1, it seems that the test I just did seems to work just fine. Git svn init url git svn fetch you must then create and checkout a dummy branch to be able to push to the master branch. Git checkout -b dummy Then you can clone it (git clone ...) into another pure git repo, modify it, commit it(git commit) then push (git push) into the git-svn repo.
Back to the git svn repo: git checkout master git svn dcommit will commit all git commits that have been pushed.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.