1

In our project we have to commit all changes to the clients svn repository.

I want to move our team to git. So I'm thinking I'll need a central git repository that uses git-svn to push to the svn server.

My questions:

  • Is there a way I can get the central git repository to automatically push to the svn repository, or would a simple cronjob be best?
  • What's a good way to have the central git repository deal with svn:externals, so that the teammembers don't have to worry about it.

Lastly: am I taking the right approach, or is there a better way altogether?

Evert
  • 93,428
  • 18
  • 118
  • 189

1 Answers1

2

Most Git gurus recommend not using a central Git repository for bi-directional interfacing with SVN. Instead, each developer should use git-svn directly against the Subversion repo. If you have a small project, this is usually OK.

However, if you're still set on the idea, it is possible. You have to accept some limitations though:

  • Developers will still have to individually dcommit changes back to Subversion
  • No more git merge, only rebase. You'll have to keep history linear because SVN doesn't grok branches.
  • A bit of fiddling for the developers.

If this is acceptable, check out this page I put together about Git-SVN mirrors.

Unfortunately, I have no idea about the svn:externals question. You'd better open up a new question for that one where you explain what you've got and what you want to achieve more concretely.

Thomas Ferris Nicolaisen
  • 5,036
  • 2
  • 30
  • 36