views:

120

answers:

6

I'm looking for the ability to use a revision control system for websites, but ALSO have the revisions go live immediately.

Example: A developer submits to the repository, those changes are live immediately pulled from the repository.

Any suggestions on available software?

A: 

cron job, run svn update or git pull every minute.

or post commit hook on the svn repo.

Note: in reality both are a bad idea. At least pull results from a continuous integration server once the build has passed.

Lance Rushing
A: 

I haven't tried it yet myself, but I've heard good things about Mercurial.

I think Google recently started using Mercurial for some of their projects.

They have an interesting article here comparing GIT to Mercurial: http://code.google.com/p/support/wiki/DVCSAnalysis

And then there's the news on their final decision to use Mercurial for Google Code here: http://arstechnica.com/open-source/news/2009/04/google-code-adds-mercurial-version-control-system.ars

Steve Wortham
A: 

Subversion + triggers.

You can set a trigger such that a script pushes the trunk to a dev system immediately on any checkin.

The redbook for SVN covers subversion triggers/hooks

A similar stackoverflow question here covers how to execute a script when a repo event occurs.

Warning: I would not do this for a production system, but could be useful for continuous testing against a development server which always has trunk live.

Aiden Bell
A: 

Maybe instead of 'pulling' you could take the approach of pushing. The websites themselves could be git(or choose your scm, i prefer git) repositories, the authors commit their code to their local repository, push it via git push to the web server and it's live. It's one extra step from the authors point of view but you could probably write some handy scripts to make it transparent to them.

r-dub
A: 

The assembla.com project hosting service offers this as a feature associated with GIT or SVN repositories.

I have no connection to them other than as a satisfied customer; I do not use the above feature, so cannot attest to its effectiveness. I believe it requires plain ftp (not sftp) access to web server.

http://www.assembla.com

pduel
A: 

This is a difficult thing to do reliably, but if executed properly there can be great benefits.

I would suggest you look into continuous integration. To properly do this you will need a combination of good coding practices, test heavy development, and automated deployment.

Basically the idea is that developers make small changes that are well tested with schema migrations. This is then automatically tested and deployed.

lojack