views:

555

answers:

10

My hosting service does not currently run/allow svn, git, cvs on their server. I would really like to be able to 'sync' my current source on my development machine with my production server.

I am looking for a pure php/python/ruby version control system (not just a client for a version control system) that does not require any services running on the server machine, something that could use the http interface to upload/download and sync files - basically offering a back end into my 'live' site for version control.

Additionally, I would think that such a system would be easy to develop an 'online' ide for, so that I could develop directly on the production server. (issues of testing aside of course)

Does anyone know if such a system exists?

==Edit==

Really, I want a wiki front end for a version control / development system - Basically look like a wiki and edit development files so that I could easily make and roll back changes via the web. I doubt this exists, but it would be easy to extend an existing php port of svn...

+1  A: 

You could look into mercurial or bazaar-ng they are both written in python and support at least http downloads afaik, not really web based but written in one of the languages your hoster supports if the tags are correct. HTH

André
+5  A: 

Get a better hosting service. Seriously. Even if you found something that worked in PHP/Ruby/Perl/Whatever, it would still be a sub-par solution. It most likely wouldn't integrate with any IDE you have, and wouldn't have a good tool set available for working with it. It would be really clunky to do correctly.

The other option is to get a free SVN host, or host SVN on your own machine, and then just push updates from your SVN host to your web site via ftp.

Kibbee
I agree that the solution would be subpar, however, I know that svn can use http - so I am not sure why you couldnt have a php based server. Really, I want to find a system like this that I can modify to suit my needs, and it seems like this should exist. (btw, I do have svn on my home server :)
SVN can use http because it has special hooks to Apache that enable this to work.
Kibbee
Springloops has a built-in deploy system, that can push to your web-server, over ftp.
troelskn
+1: Even if you found something, they might not let you run it.
S.Lott
+1  A: 

Mercurial has a web-interface and allows commits via http. It uses a couple of C extensions, but I would guess that all of them have pure-Python counterparts.

You can also just use WebDAV, when your hoster provides it.

Torsten Marek
A: 

you could try the reverse way

  • use e.g. a free online svn/git Service to version control the sources on your dev machine
  • use usual ways to update the "production" machine aka site, like FTP
Michael Lange
+2  A: 

for the time you've spent researching this you could have just gone out and got a much better hosting company. Is there some sort of special relationship or something?

I've never heard of any decent hosting company not offering cvs at a bare minimum.

(Rant Over).

You will save yourself a ton of time if you just get another hosting company.

Here's how I look at it.

Your hourly rate: at least 15-20$ an hour (For me, I say 100$). How long it'll take you to figure out merurial or webdav or whatever: at least 10 good hours (if you are like me: 30 hours).

How much money will you waste? 150-200$.

How much will a new host cost: A2 hosting starts at 6/month prepaid for two years: 144$. How long to set up: 5 mins.

Take your business elsewhere. Professionalism from your vendors will go a long way for your mental health in the long run.

cbrulak
Totally agree. There's so many good and cheap hosting providers out there, that it really isn't worth your time to put up with a bad one. I made a switch a couple years back, but waited a long time because I was worried about hardships of doing the switch. In the end, I'm very happy I switched.
Kibbee
here here, I plugged a2 hosting because that who I have now, but i've easily seen dozens of companies just like that. No one should have to put up with sub-par tools these days.
cbrulak
+3  A: 

Don't host your repository on your web server. Deploy from your server to the ftp/sftp - whatever.

Syntax
Best advice given, hosting your source on the server is just a bad idea
TravisO
A: 

http://cvsdude.com/ CVS Dude.

Cheap, works.

Frakkle
+1  A: 

I think it's actually a pretty good idea, but don't believe such a versioning system exists (yet) so hopefully you'll go ahead and make one.

I don't think adapting an existing solution is going to be easy, but it's probably worth looking into because if you use an existing solution you'll have all the client support done, and most of the versioning difficulties taken care of.

Starting from scratch is not going to be trivial.

Adam Davis
A: 

Why dont you want a client..? A simple client that you can run on your production machine which then syncs to your repository running on another server somewhere.

SVN is available over HTTP so writing a client that is able to sync your code is really easy in python or php.

truppo
+1  A: 

Use Bazaar:

Lightweight. No dedicated server with Bazaar installed is needed, just FTP access to a web server. A smart server is available for those requiring additional performance or security but it is not required in many cases - Bazaar 1.x over plain http performs well.