views:

138

answers:

5

I have a web dev. client using a shared host that doesn't allow shell access, and thus no access to SVN, Git, etc. I've tried to convince him to move to one of the many cheap options that allow it, but he won't do it. If I use version control on my staging server, are there any tools that will allow me to replicate the changes to production via ftp? Locally I have both mac & windows, the staging server is linux, so something that works on any of those platforms....

A: 

Short of finding / implementing some FUSE based CoW file system that supports immutable versions .. I'd just find another (more developer friendly) host. As far as I know, no FTP server supports this natively, nor can I think of any elegant means of putting it in place with script hackery.

I could be wrong.

Tim Post
as I said: the client won't move hosts
sprugman
@sprugman: Some problems simply can not be solved in their given constraints. You can not write your name on mars, you can not use FTP as a VCS without jumping through hoops. If the FTP server was backed by an http://ext3cow.com partition, you may have a start, and I did at least _try_ to offer some sort of a solution.
Tim Post
@tinkertim: I tried to un-down-vote you, but it won't let me ('vote too old to be changed'). FWIW, I didn't really read your initial post as a suggestion. The way you wrote it, the thrust to me was: "short of this thing that sounds impossible (given how restrictive this host is), do the thing that you said in your original post you couldn't do", which was why I down-voted.
sprugman
@sprugman: no worries :) The first rule about stack overflow is not to talk about stack overflow.
Tim Post
@sprugman: seriously, no worries. You did cite a specific criteria and I told you it was not likely to work. I don't see a reason to edit my post though, its quite clear if read in its entirety :) I should also mention that I'm terminally blunt.
Tim Post
A: 

You probably need to write a batch file that is able to

  1. Export the SVN repository
  2. Upload the exported files to your Linux server via FTP
thephpdeveloper
A: 

Some kind of ftp mirror software is what you need. Not tested it but a quick search gave me this Java application. You could run that over your up-to-date checked out repository.

Cliff Stanford
+2  A: 

Using your Linux staging server you could keep a separate checked out copy that you use specifically for that host and then use a utility to mirror that directory with the host server.

LFTP is useful for this kind of thing. Its available for most Linux distributions and includes a 'mirror' function:

Mirror specified source directory to local target directory. If target directory ends with a slash, the source base name is appended to target directory name. Source and/or target can be URLs pointing to directories.

Andre Miller
+1  A: 

Good thing for keeping SVN repo and FTP copy in sync is svn2web. May I suggest creating separate branch for production copy and do merges to that branch for uploading to production server.

greg