Where Art Thou, Good Web Version Control?
This post started out as an ask Reddit question in programming, but I soon realized that I couldn't quite ask the question in just a self reddit title. My question was as follows: Is there version control software that automatically backs up changes I make to files in a directory on my webserver? After much looking and a bit of pondering I think the answer is, unfortunately, no.

I work in many small development groups for many different web sites. Most of the groups consist of me and one or two other people. A few projects have a couple more. I started learning about version control software after realizing that backing up the public_html and the mysql databases every so often is not quite enough. I have yet to lose any significant portion of my work, but I imagine it is only a matter of time unless I get a version control solution. The problem is I couldn't get subversion to work quite how I wanted it to, and other options that I looked at seem to be even further from what I want. After looking at what was available I started thinking about what would be ideal. I realized that it was really only 5 things:
I Want it to be Unobtrusive
I should not have to change my work flow to accommodate my version control. If I change any file for my website it should get backed up automatically. When I set it up I imagine I should have to specify a directory (such as public_html.) where if any file in that directory is edited, a backup is made. If I choose to edit via FTP, locally, through SSH, or whatever the version control software should notice and backup the change. I shouldn't have to check anything out or in. I shouldn't have to tell the software to do anything. It should just work.
I Want it to be Easy
Many of the people I work with only know and change html. These people shouldn't have to worry that the changes they are making to the site may cause an irrevocable loss of information. These people need access to the files to edit them, but shouldn't (or can't) be expected to know how to set up and use version control software and have to check things in and out. I don't really care how hard the thing is to set up, just that once it is set up it is easy for everyone to use.
I Want it to Track Who Is Doing What, and When it Was Done
It should log the IP address and timestamp of each change. It should log how this IP address is accessing the system. I should be able to set up a system based on FTP users or linux users where only certain users get to change files in directories of my choosing. Is 6.43.143.4 using FTP to edit it? Is diane@myserver logging in through SSH and using nano to edit it? I should know.
I Want Database Backups
I want options on how to deal with backing up my databases. Maybe I want to save space by keeping infrequent snapshots. Maybe I want it to export a backup to another computer or DB every so often. Maybe I want to backup certain tables more frequently than others. I should have options. It should integrate with MySQL (and probably others) off the bat.
I Want Web-Based Administration
I want a web-based administration area along the lines of phpMyAdmin. From here I should be able to see who changed files and when. I should be able to revert to backups of my choosing, or a snapshot in time of my choosing. If I want it to be just how it was last friday before Joe went through and messed up half the site, it should be easy to do that. I shouldn't have to know what files Joe messed up, or how he messed them up. I should just be able to revert to a date.
I should be able to have some sort of diff functionality so I can compare what has changed in different revisions. I should have the ability to merge changes from the diff view. I should have options to use these features intelligently and easily.
I should be able to do all of this from http://www.domain.com/myVersionControl or something similar. Of everything I want this is probably the least important. If I could get the first four things and not this one I would be happy, but this would be the icing on the cake.
Is There Such a Thing?
I wrote this post hoping that someone could tell me there would be something, or some set of things, that could do what I want. Or, if there isn't that magic software maybe some people on Reddit or Digg might like to start a new open source project to make it. I would definitely be willing to work on it if others were.
Do you know of anything that might work? Comment below!
I think that may be what would have to change. svn, git or hg are what I use
~Matt
http://fossil-scm.hwaci.com/
(SVN still useful, though









