My team develops using Git, making good use of many of its features. We are measurably more efficient at using git that svn.
However our current client want us to deploy code from an svn repository, which means we are required to somehow regularly move our code from git to svn.
At the moment we are maintaining a directory that is both a svn checkout, and a git repo (contains a .git and so on) and we can then do git pull; svn commit
Of course, the process is a bit more complex, as we want to use tags for recording release points, and there is an overhead of running svn add on the files that have been created by git.
What is the best way to do this?
Is git-svn going to help this problem? I have never seen it used other than to allow one individual developer to use git tools locally, when using an SVN repo. I have no idea how well it would work with multiple developers working on multiple branches....
If one person is deemed the integrator of all code for SVN, and you know no one else is contributing to the SVN repo, you could have him use git-svn
to push changes:
master
as a tracking branch for svn (e.g. git svn clone $REPO). He never does work on this branch
master
, but something like integration
)integration
with his master
git svn dcommit
If others are contributing to SVN, you could still do it this way, but the integrator would have to regularly pull from SVN and make those changes available to devs so as to avoid merge conflicts.
At any rate, getting the code into SVN without a lot of hassle is the main issue. You can tag and branch in SVN without a local checkout so the integrator could do tagging (not sure if git svn
will send tags to SVN or not)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With