[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Ideal Subversion Setup

From: Ryan Schmidt <subversion-2009d_at_ryandesign.com>
Date: Thu, 17 Dec 2009 07:39:02 -0600

On Dec 17, 2009, at 03:53, David Burleson wrote:

> Let me elaborate on our setup. I've decided the first thing to do is to cut out the inbetween step of dragging files over. So I have setup a folder on our local linux webserver and setup apache web server to use it as a virtual host (to do testing). This works great. Now I need to sort out the symlinks for the images directory. We create the symlinks manually through command line (ssh). We are using TortoiseSVN as a way to create the checkout to be used on our Windows computers. So....
>
> 1. Linux Server: create a directory for development area
> 2. Linux Server: setup apache to use the newly created directory as a virtual host
> 3. Windows PC: Browse to the newly created directory via the network
> 4. Windows PC: Right click on the directory and select SVNcheckout and checkout the repository
> 5. Linux Server: Create a symlink in the directory to another directory on the linux server
>
> So...how do I commit that symlink as a symlink and not commit the contents within it?

Ah, you didn't mention before that there were two computers and two operating systems involved. You said before:

>>> I have been using subversion with TortoiseSVN for a couple of years now. [...] We currently each have our own development area on a local web server for each project.

I assumed the machine where you are using TortoiseSVN is the same machine where you have the working copy and the same machine where the web server is running.

To commit the symlink, you will need to run "svn commit" on the Linux server, not on the Windows machine, since as I mentioned, the Windows operating system has no concept of symlinks and cannot represent them.

What you are doing -- having a working copy on a Linux server and manipulating it via TortoiseSVN on Windows (presumably via a Samba share) -- can work. We did this in a web programming shop where I worked. But you must be careful to avoid the differences that exist between platforms. That means avoiding symlinks, avoiding svn:eol-style native, avoiding case-only name collisions, avoiding reserved Windows filenames and extensions, etc. The official party line is that you should only work with a working copy on the same OS it was checked out on. Maybe this explains a bit the reasons for your original process of manually copying the files.

> And, what is the best way to preserve folder/dir permissions using chmod into a repository?

It is not possible to preserve permissions in a Subversion repository, except for the aforementioned executable bit via the presence or absence of the svn:executable property.
Received on 2009-12-17 14:39:41 CET

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.