I am a web developer working with 2-3 people including me. Our current setup is very simplistic. We try to let each other know when we are working on a specific file. We use FTP to edit our files.
Recently we have run into the problem of 2 people accidentally editing one file, or working on a local file then uploading when another person just did the same.
From what I have read I need some sort of control system. I have heard of subversion and mercurial. It seems that these systems may not be what I need though, since its just giving me different versions of the files. I don’t know if it solves the issue of two people working on a file and overwriting each others work.
What are your suggestions for solving my problem?
Edit 1: I should mention that I would like to integrate with Netbeans which seems to have plugins for Subversion available.
Edit 2: Is it possible to do this with normal web hosting? (using rackspace cloud site hosting). I do have a server set up at home that I think could handle being set up as a repository. (runs windows server 2007)
A version control system (VCS) is exactly what you need. The developers work off of the files in source control, and when a change is checked back in to the system, if changes have also been made by someone else to the same file, the system will merge the 2 sets of changes (sometimes assistance from the user will be necessary) instead of simply losing the previous set of changes.
Periodically, the website can be updated from the VCS repository.
With a team of just 3 or so developers, almost any VCS you might should work just fine. I’ve heard good things about Mercurial (though I haven’t used it yet – I’m planning to try it out this month), and Subversion is really quite nice.
But I think anything you chose will be a major improvement over using none.