I’ve done some homework on this and understand the basic rules of Version Control. I’ve also looked around on here and not found anything really solid that I understand much. I’ve been tasked with setting up version control at the company I work for after I suggested it should be implemented. We are a Web Development company with numerous simaltaneously running projects, hence we need to have version control.
Only thing is, I’m so stuck as to where to even begin with it.
I have downloaded Versions app onto my Mac and understand how to use the program. I’ve created a local repository on my desktop and have added some files to the it, checked out, committed, restored previous revisions, etc. Like I say, I have the basic understanding of how version control works and functions, it’s just setting it up for the company I work for that is the major problem. I want to work with SVN, so Win users can use TortoiseSVN and Mac users can use Versions, so no problems on what I want to use. It’s just using it.
We have web servers in the office that we connect to, one holds all of our numerous web files. We also have our live web server where all of our documents are live.
Do I set the repository up locally? Or do I set it up on the live web server? I’m not too sure where to go. I looked at beanstalk, but again, was clueless as to where I should be taking it. If I had to run a repo myself, I’d be fine. I’d have a local repo where all of my files were or have one on a old machine I have kicking about.
But how do I replicate that into my office environment? I am aware of the importance of the need for version control. We currently have things like
- File.html
- File-BACKUP.html
- File-OLD.html
- File – Copy[2].html
etc etc
Which isnt a functional system.
Could someone please direct me as to a good breakdown of how to set this up and get the practice running effectively in the office? Like, a step by step or SVN for dummies or whatever.
I’ve read the svn book that many people round here link to and don’t understand it much more either, just so you’re aware and don’t just instantly link me through to there!
Thanks.
So to get to the nub of the technical problem; it sounds like you are having difficulty setting up a Subversion server and getting TortoiseSVN/Versions to connect with it?
For a team to work together, you need a central repository. DO NOT set it up on a local machine – ideally set it up on a new shared server on your private network. If you use the live Web server to host it instead, make sure the repository is secured using SSL.
I won’t get into the gritty details on how to set up a central server, since you’ve already stated you know where the Subversion docs are. If you have any specific problems in this area, feel free to ask a few more questions on this site. You did, however, ask for a “dummies” tutorial on setting things up: Here are some for Windows and for Linux.
To get the team working effectively with it, I suggest you first get everyone together and discuss the benefits. You will not succeed unless everyone is on board and using it. Answer any questions they have, and make sure you take any concerns they have seriously – go away and come back with researched solutions, don’t just tell them “Subversion’s way or the highway”. I expect this will be your most difficult challenge of the whole thing, but it is most certainly worthwhile persevering.
Once things are set up – introduce it to the team by using it with a new project (or import a non-critical existing one). Maintain a collection of “how to” tips (a Wiki is good for this), at least until the rest of the team start to grasp the basics. Eventually, you start to gain ground when the others see the usefulness, and at that point you can start considering porting everything to Subversion.