You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by "Jensen, Adam" <Ad...@unt.edu> on 2008/04/07 15:12:47 UTC

Checking out to remote location via WebDAV?

Hello!

I use SVN quite extensively to help me maintain code history for a PHP web application I've developed.  It's helped me greatly, especially in that I can easily keep track of what's currently on the live server as opposed to what is still being developed.

Unfortunately, moving those developments onto the live server once they're ready is a rather tedious process, one in which I tend to lose a lot of time.  I was hoping someone here might be able to help me fix that.

My SVN repository is currently just located on my local machine (at a file:///<file:///\\> URL); I check out a couple of working copies to different locations on my hard drive, one of which is the live "release" branch, and one of which is the trunk (for development).  Whenever the trunk material is stable enough, I create a new release branch, switch the live working copy over to it, and upload the changes manually, one by one, via the WebDAV protocol (which is the only way I can access my live server).  When I've changed a lot of files, this takes quite awhile.

I'm wondering if anyone here knows of a way that I can checkout the contents of my local repository to a remote location via the WebDAV protocol, and similarly to update that remote location from my local machine?  That way updating the live site would be dead simple, and accurate to boot.

Thanks in advance for your help!


Adam Jensen, Zend Certified Engineer
Web Development
UNT International

Adam.Jensen@unt.edu
http://www.international.unt.edu


Re: Checking out to remote location via WebDAV?

Posted by John Peacock <jo...@havurah-software.org>.
Jensen, Adam wrote:
>> The way to do it is to ssh to the remote machine, and on the remote
>> machine, execute the "svn update" command in your production server's
>> working copy of your site. This requires you to have ssh access to
>> the remote machine, svn installed on the remote machine, and your
>> repository served on the Internet such that the production machine
>> can access it. It sounds like your setup doesn't meet these
>> requirements, so this solution won't work for you.
> 
> Thanks; I thought it might not be possible, but I wanted to confirm just in case.  I don't currently have ssh or rsync access, but I might be able to talk to our web support department about getting it; it would certainly make site updates easier.

If you can get ssh access to the production server, you don't actually need to 
put your repository online (publically) to update the remote server.  It is 
actually quite easy to tunnel the Subversion traffic via the same ssh session 
that you are using to initiate the update.

Once you get ssh access, you may want to consider using SVN::Notify::Mirror 
(available from CPAN), which I wrote specifically for this purpose.  It makes it 
trivial to set up post-commit hooks to keep multiple sites up to date with 
commits to the repository.  I have explicit support for tunneling over SSH.

HTH

John

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

RE: Checking out to remote location via WebDAV?

Posted by "Jensen, Adam" <Ad...@unt.edu>.
> -----Original Message-----
> From: Ryan Schmidt [mailto:subversion-2008a@ryandesign.com]
> Sent: Monday, April 07, 2008 1:42 PM
> To: Jensen, Adam
> Cc: users@subversion.tigris.org
> Subject: Re: Checking out to remote location via WebDAV?
>
>
> On Apr 7, 2008, at 10:12, Jensen, Adam wrote:
>
> > I use SVN quite extensively to help me maintain code history for a
> > PHP web application I've developed.  It's helped me greatly,
> > especially in that I can easily keep track of what's currently on
> > the live server as opposed to what is still being developed.
> >
> > Unfortunately, moving those developments onto the live server once
> > they're ready is a rather tedious process, one in which I tend to
> > lose a lot of time.  I was hoping someone here might be able to
> > help me fix that.
> >
> > My SVN repository is currently just located on my local machine (at
> > a file:/// URL); I check out a couple of working copies to
> > different locations on my hard drive, one of which is the live
> > "release" branch, and one of which is the trunk (for development).
> > Whenever the trunk material is stable enough, I create a new
> > release branch, switch the live working copy over to it, and upload
> > the changes manually, one by one, via the WebDAV protocol (which is
> > the only way I can access my live server).  When I've changed a lot
> > of files, this takes quite awhile.
> >
> > I'm wondering if anyone here knows of a way that I can checkout the
> > contents of my local repository to a remote location via the WebDAV
> > protocol, and similarly to update that remote location from my
> > local machine?  That way updating the live site would be dead
> > simple, and accurate to boot.
>
> No, that is not possible.
>
> The way to do it is to ssh to the remote machine, and on the remote
> machine, execute the "svn update" command in your production server's
> working copy of your site. This requires you to have ssh access to
> the remote machine, svn installed on the remote machine, and your
> repository served on the Internet such that the production machine
> can access it. It sounds like your setup doesn't meet these
> requirements, so this solution won't work for you.
>
> Another option would be rsync. Keep a local working copy of the
> production site, switch/update it when you want, and then rsync it to
> the production server. This requires you to have rsync (or ssh)
> access to the production server.

Thanks; I thought it might not be possible, but I wanted to confirm just in case.  I don't currently have ssh or rsync access, but I might be able to talk to our web support department about getting it; it would certainly make site updates easier.

Thanks again!
Adam

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org


Re: Checking out to remote location via WebDAV?

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Apr 7, 2008, at 10:12, Jensen, Adam wrote:

> I use SVN quite extensively to help me maintain code history for a  
> PHP web application I’ve developed.  It’s helped me greatly,  
> especially in that I can easily keep track of what’s currently on  
> the live server as opposed to what is still being developed.
>
> Unfortunately, moving those developments onto the live server once  
> they’re ready is a rather tedious process, one in which I tend to  
> lose a lot of time.  I was hoping someone here might be able to  
> help me fix that.
>
> My SVN repository is currently just located on my local machine (at  
> a file:/// URL); I check out a couple of working copies to  
> different locations on my hard drive, one of which is the live  
> “release” branch, and one of which is the trunk (for development).   
> Whenever the trunk material is stable enough, I create a new  
> release branch, switch the live working copy over to it, and upload  
> the changes manually, one by one, via the WebDAV protocol (which is  
> the only way I can access my live server).  When I’ve changed a lot  
> of files, this takes quite awhile.
>
> I’m wondering if anyone here knows of a way that I can checkout the  
> contents of my local repository to a remote location via the WebDAV  
> protocol, and similarly to update that remote location from my  
> local machine?  That way updating the live site would be dead  
> simple, and accurate to boot.

No, that is not possible.

The way to do it is to ssh to the remote machine, and on the remote  
machine, execute the "svn update" command in your production server's  
working copy of your site. This requires you to have ssh access to  
the remote machine, svn installed on the remote machine, and your  
repository served on the Internet such that the production machine  
can access it. It sounds like your setup doesn't meet these  
requirements, so this solution won't work for you.

Another option would be rsync. Keep a local working copy of the  
production site, switch/update it when you want, and then rsync it to  
the production server. This requires you to have rsync (or ssh)  
access to the production server.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org