You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Georg Kunz <ge...@cs.rwth-aachen.de> on 2010/05/19 19:40:49 UTC

svn diff issue: svn confuses files with dirs on hfsplus?

Hi!

I encoutered a weird problem with subversion 1.6.6 & 1.6.9 on a 32 & 
64bit Xubuntu 10.04: My working copies are located on a hfsplus 
partition which is shared across the Xubuntu Linux and MacOS on my 
development machine. For some strange reason, I cannot diff single files 
in any working copies on this partition:

$> svn diff somefile
svn: Can't open file 'somefile/.svn/entries': Permission denied

Weirdly, running

$> svn diff

works well, however, and shows a diff of all files as expected.

After checking out the same repository to an ext3 partition, _both_ 
commands work fine. Based on the error message above, I wonder why 
subversion confuses a single file with a directory? Why is it looking 
for .svn/entries that does obviously not exist?

hfsplus is case insensitive, but I successfully used subversion on such 
a partition for quite a while before. I suppose, the hfsplus partition 
is not mounted correctly. These are the mount options I use in my fstab:

UUID=... /media/Data     hfsplus users,auto,exec,rw 0 0

Any ideas that might help me solve the problem?

Georg


Re: svn diff issue: svn confuses files with dirs on hfsplus?

Posted by Georg Kunz <ge...@cs.rwth-aachen.de>.
Hi Andy

thanks for the reply. See below.

On 05/19/2010 10:14 PM, Andy Levy wrote:
> On Wed, May 19, 2010 at 15:40, Georg Kunz<ge...@cs.rwth-aachen.de>  wrote:
>> Hi!
>>
>> I encoutered a weird problem with subversion 1.6.6&  1.6.9 on a 32&  64bit
>> Xubuntu 10.04: My working copies are located on a hfsplus partition which is
>> shared across the Xubuntu Linux and MacOS on my development machine. For
>> some strange reason, I cannot diff single files in any working copies on
>> this partition:
>>
>> $>  svn diff somefile
>> svn: Can't open file 'somefile/.svn/entries': Permission denied
>>
>> Weirdly, running
>>
>> $>  svn diff
>>
>> works well, however, and shows a diff of all files as expected.
>>
>> After checking out the same repository to an ext3 partition, _both_ commands
>> work fine. Based on the error message above, I wonder why subversion
>> confuses a single file with a directory? Why is it looking for .svn/entries
>> that does obviously not exist?
>>
>> hfsplus is case insensitive, but I successfully used subversion on such a
>> partition for quite a while before. I suppose, the hfsplus partition is not
>> mounted correctly. These are the mount options I use in my fstab:
>>
>> UUID=... /media/Data     hfsplus users,auto,exec,rw 0 0
>>
>> Any ideas that might help me solve the problem?
>
> Subversion works just fine on Macs. There are several people on this
> list using it, including the maintainer of the MacPorts Subversion
> package, IIRC.

Sure, I never doubted that and I used it on a Mac for a long time.

> I suspect your issue is not HFS+ and Subversion, it's that you're
> using the HFS+ partition with the Linux client. You can't safely share
> a single working copy between users and/or operating systems because
> (in your example) things done "the Linux way" when you're logged into
> Xubuntu won't work when you're using a client running on MacOS,
> expecting things to be done "the MacOS way".

To be precise here: the partition is shared to allow access from both 
OSes, but ALL development stuff, i.e., all svn operations, are done 
under Xubuntu only. So I don't share actually working copies across OSes 
and svn clients.

> Subversion is not significantly aware of what happens at the
> filesystem level (and actually it's APR doing the heavy lifting, not
> Subversion itself), so it won't do a lot of checking to decide "I'm
> running on Linux, but it's an HFS+ partition, so I have to do things
> in this way instead of what I would do for ETX3."

Since I don't share working copies across OSes, Subversion doesn't need 
to do such checks in my case. I am already getting the error when doing 
a fresh checkout on Linux to the hfsplus partition and then doing a svn 
diff on an arbitrary file. It also does not make a difference if I 
actually change this file or not. So I am wondering why Subversion or 
APR does not like hfsplus?

Georg


Re: svn diff issue: svn confuses files with dirs on hfsplus?

Posted by Andy Levy <an...@gmail.com>.
On Wed, May 19, 2010 at 15:40, Georg Kunz <ge...@cs.rwth-aachen.de> wrote:
> Hi!
>
> I encoutered a weird problem with subversion 1.6.6 & 1.6.9 on a 32 & 64bit
> Xubuntu 10.04: My working copies are located on a hfsplus partition which is
> shared across the Xubuntu Linux and MacOS on my development machine. For
> some strange reason, I cannot diff single files in any working copies on
> this partition:
>
> $> svn diff somefile
> svn: Can't open file 'somefile/.svn/entries': Permission denied
>
> Weirdly, running
>
> $> svn diff
>
> works well, however, and shows a diff of all files as expected.
>
> After checking out the same repository to an ext3 partition, _both_ commands
> work fine. Based on the error message above, I wonder why subversion
> confuses a single file with a directory? Why is it looking for .svn/entries
> that does obviously not exist?
>
> hfsplus is case insensitive, but I successfully used subversion on such a
> partition for quite a while before. I suppose, the hfsplus partition is not
> mounted correctly. These are the mount options I use in my fstab:
>
> UUID=... /media/Data     hfsplus users,auto,exec,rw 0 0
>
> Any ideas that might help me solve the problem?

Subversion works just fine on Macs. There are several people on this
list using it, including the maintainer of the MacPorts Subversion
package, IIRC.

I suspect your issue is not HFS+ and Subversion, it's that you're
using the HFS+ partition with the Linux client. You can't safely share
a single working copy between users and/or operating systems because
(in your example) things done "the Linux way" when you're logged into
Xubuntu won't work when you're using a client running on MacOS,
expecting things to be done "the MacOS way".

Subversion is not significantly aware of what happens at the
filesystem level (and actually it's APR doing the heavy lifting, not
Subversion itself), so it won't do a lot of checking to decide "I'm
running on Linux, but it's an HFS+ partition, so I have to do things
in this way instead of what I would do for ETX3."