We have been using SVN for several years.
Recently, we switched over to git, since some members of the organization pointed out that if our SVN server dies our team is toast.
So far, we’ve got something worked out with the git workflow, however some team members really do not like this git process. They want to simply right-click on a file and then hit SVN Commit (we’re using tortoiseSVN) without having to worry about all this pushing and pulling.
I’ve been asked to provide SVN support for our repository while keeping the git repo (hosted on github) updated. The workflow I’m imagining is that we’ll all just do the normal SVN things as before, and then once in awhile I’ll just do a push to github to backup our files.
What are some options for using git purely for backup purposes (one person would manage the git repo), while everyone uses the SVN repo?
I’ve read about git-svn, but it seems like a completely different tool. Perhaps someone can clarify this? If I checked out a svn repo using git-svn, would I be able to operate on it using tortoiseSVN? Or can everyone else use a regular SVN checkout, while I maintain a git-svn checkout?
6
If you want just backups, I would recommend not to use git at all – that makes things unneccessarily complicated. Instead, backup your SVN server daily.
Of course, if you don’t just want backups, but also mobile access to the repo, you could choose an svn hoster. Maybe this site will help you to pick one.
5
My advice is to get people skills up to date. I would push back against the assignment and say that adopting old work habits and patterns that don’t match newer technology and processes is a bad decision for the future of the company and also for the future skills of the employees.
Technology is a constantly and continually evolving and changing. When new tools and practices become available, a large challenge is to get people to use the new tools in new ways. This can mean changing long-held beliefs and practices which is hard.
That also makes the challenge of hacing folks change a little easier. Explain that git, as a DVCS is a new way of working that is quickly supplanting older technology VCSs. Doing things the ‘git’ way is likely what they will be doing in a lot of their future jobs. If they ‘do git the svn way’ they are likely going to find their next job hard to do.
The move from svn to git is a particularly difficult one. It’s difficult for many reasons including the fact that the same word means quite different (or even opposite) things.
Good git gui tools such as gitx(osx) or gitg(linux) can also help a lot.
You may also find this Q&A on workflow useful:
https://stackoverflow.com/questions/3329943/git-branch-fork-fetch-merge-rebase-and-clone-what-are-the-differences/9204499#9204499
Most git clients I am aware of can do push on commit for the SVN-style workflow so you can keep git for the modern guys and let the dinosaurs keep their SVN-style workflow without rolling back to SVN.
Having made the same transition myself I would try and fight the dinosaurs as one day git will dwan on them and all will be much better.