You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-dev@db.apache.org by Michelle Caisse <Mi...@Sun.COM> on 2005/09/01 01:20:20 UTC

Spurious executable file property in svn repository

Hi,

There has been discussion here about the Windows subversion client 
automatically assigning the executable property to non-executable files. 
I believe I have a solution for this.  I also suggest that we clean up 
the executable properties currently in the repository.

BACKGROUND

Subversion carries executable information in the built-in property 
called svn:executable.  This property, unlike others,  may be present or 
absent, but it has no value.  You can add it or delete it, but but you 
cannot change it.

In theory, subversion ignores Windows file permissions; by default 
svn:executable is not set. In fact, cygwin svn acts like Unix svn and 
determines the svn:executable property based on file permissions..

If you create a file via the cygwin command line,  by default it is 
executable only if the filename ends with .bat, .com or .exe*, or if its 
content starts with #!.  [That's what the doc says, but even in these 
cases I get -x.] If you create a file via a Windows tool by default its 
Windows permissions are executable by all and cygwin interprets the 
Unix-style permissions this way as well.  If the file is executable by 
all, cygwin svn sets the svn:executable property on the file.

RECOMMENDED ACTIONS

(1) I suggest that we run
     svn propdel -R svn:executable .
from jdo to remove the svn:executable property from all of the files in 
all the projects in the repository and check in the cleansed files.

(2) I suggest that Windows/cygwin users who don't want to have to think 
about using svn propdel or chmod use a non-cygwin version of svn.  I 
installed the Subversion 1.2.3 Win32 binaries from the link at the 
bottom of http://subversion.tigris.org/project_packages.html.  It seems 
to work fine.  You will have to add the svn.exe location to your Windows 
PATH variable, of course.  You will also need to rename the svn in your 
cygwin install to something else because when svn is invoked from a 
cygwin window, the cygwin version is found even if your cygwin/bin 
directory is later on the path.

Alternatively, Windows users could set file permissions in Windows 
Explorer. (Right-click on the top-level folder & select Properties. 
Select the Security tab. Click Advanced. Remove all instances of Read & 
Execute from the Permission Entries. Click "Reset permissions on all 
child objects and enable propogations of inheritable permissions". Click 
Apply. OK. OK.) You would have to do this again when you do a clean 
checkout. 

Comments?

-- Michelle

Re: Spurious executable file property in svn repository

Posted by Michael Bouschen <mb...@spree.de>.
Hi Michelle,

[...]

>> I installed the Subversion 1.2.3 Win32 binaries as you suggested and 
>> it works fine. I decided to remove the subversion component from my 
>> cvgwin installation instead of renaming the svn executable. I'm not 
>> sure whether svn comes with dlls which also need to be renamed.
> 
> 
> I'm sure this is the right approach.  If I really understood how to use 
> that cygwin installer, I'd do it too :-)

Here is what I did:
I called the cygwin setup. This opens the "Cygwin Setup - Select 
Packages" window. The left most column includes a category called Devel. 
Clicking the plus sign shows the packages from this category including 
two subversion packages at the end. The third column show the status, I 
assume it is "Keep". I clicked "Keep" until it became "Uninstall" for 
both subversion packages. Then I clicked the Next button at the end of 
the window and followed the dialog.

I hope this helps.

Regards Michael

[...]
-- 
Michael Bouschen		Tech@Spree Engineering GmbH
mailto:mbo.tech@spree.de	http://www.tech.spree.de/
Tel.:++49/30/235 520-33		Buelowstr. 66			
Fax.:++49/30/2175 2012		D-10783 Berlin			

Re: Spurious executable file property in svn repository

Posted by Michelle Caisse <Mi...@Sun.COM>.
Hi Michael,

Michael Bouschen wrote:

> Hi Michelle,
>
> thanks for the info, this is very helpful!
>
> I agree we should skip the svn:executable flag from the files in the 
> repository. What about the script createdb.sh from 
> tck20/test/sql/derby? I think shell scripts should be executable. 
> However, I think we do not need this script anymore, so let's remove it.

Yes, this should be removed.

>
> I installed the Subversion 1.2.3 Win32 binaries as you suggested and 
> it works fine. I decided to remove the subversion component from my 
> cvgwin installation instead of renaming the svn executable. I'm not 
> sure whether svn comes with dlls which also need to be renamed.

I'm sure this is the right approach.  If I really understood how to use 
that cygwin installer, I'd do it too :-)

>
> Would it make sense to add your findings to our SubVersion wiki page 
> http://wiki.apache.org/jdo/SubversionRepository ? I hope to get more 
> contributors and committers and they would run into the same problem 
> if they use svn from cygwin.

Good idea.  I'll do that.

Thanks for your comments.

-- Michelle

>
> Regards Michael
>
>
>> Hi Michelle,
>>
>> +1
>> And thanks for running this down.
>>
>> I don't believe that the JDO project ships anything for which the 
>> executable flag needs to be on. We use maven for executing stuff, and 
>> if maven doesn't care if the -x bit is on, we should not either.
>>
>> So I agree that the svn:executable flag is just a distraction and we 
>> should remove it from the project. And keep from adding it in future.
>>
>> Craig
>>
>> On Aug 31, 2005, at 4:20 PM, Michelle Caisse wrote:
>>
>>> Hi,
>>>
>>> There has been discussion here about the Windows subversion client 
>>> automatically assigning the executable property to non-executable 
>>> files. I believe I have a solution for this.  I also suggest that we 
>>> clean up the executable properties currently in the repository.
>>>
>>> BACKGROUND
>>>
>>> Subversion carries executable information in the built-in property 
>>> called svn:executable.  This property, unlike others,  may be 
>>> present or absent, but it has no value.  You can add it or delete 
>>> it, but but you cannot change it.
>>>
>>> In theory, subversion ignores Windows file permissions; by default 
>>> svn:executable is not set. In fact, cygwin svn acts like Unix svn 
>>> and determines the svn:executable property based on file permissions..
>>>
>>> If you create a file via the cygwin command line,  by default it is 
>>> executable only if the filename ends with .bat, .com or .exe*, or if 
>>> its content starts with #!.  [That's what the doc says, but even in 
>>> these cases I get -x.] If you create a file via a Windows tool by 
>>> default its Windows permissions are executable by all and cygwin 
>>> interprets the Unix-style permissions this way as well.  If the file 
>>> is executable by all, cygwin svn sets the svn:executable property on 
>>> the file.
>>>
>>> RECOMMENDED ACTIONS
>>>
>>> (1) I suggest that we run
>>>     svn propdel -R svn:executable .
>>> from jdo to remove the svn:executable property from all of the files 
>>> in all the projects in the repository and check in the cleansed files.
>>>
>>> (2) I suggest that Windows/cygwin users who don't want to have to 
>>> think about using svn propdel or chmod use a non-cygwin version of 
>>> svn.  I installed the Subversion 1.2.3 Win32 binaries from the link 
>>> at the bottom of 
>>> http://subversion.tigris.org/project_packages.html.  It seems to 
>>> work fine.  You will have to add the svn.exe location to your 
>>> Windows PATH variable, of course.  You will also need to rename the 
>>> svn in your cygwin install to something else because when svn is 
>>> invoked from a cygwin window, the cygwin version is found even if 
>>> your cygwin/bin directory is later on the path.
>>>
>>> Alternatively, Windows users could set file permissions in Windows 
>>> Explorer. (Right-click on the top-level folder & select Properties. 
>>> Select the Security tab. Click Advanced. Remove all instances of 
>>> Read & Execute from the Permission Entries. Click "Reset permissions 
>>> on all child objects and enable propogations of inheritable 
>>> permissions". Click Apply. OK. OK.) You would have to do this again 
>>> when you do a clean checkout. Comments?
>>>
>>> -- Michelle
>>>
>>
>> Craig Russell
>>
>> Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
>>
>> 408 276-5638 mailto:Craig.Russell@sun.com
>>
>> P.S. A good JDO? O, Gasp!
>>
>>
>
>


Re: Spurious executable file property in svn repository

Posted by Michael Bouschen <mb...@spree.de>.
Hi Michelle.

> Hi Michael,
>
> Craig and I made a first pass at adding the subversion wiki page 
> information to the jdo site on Friday.  It needs work, but it's a 
> start.  I was planning to continue that process, but if you would like 
> to do it, it's fine with me.  Whatever.

Please go ahead and continue adding the subversion wiki page information 
to the jdo site. I can do a review if you want me to do so.

>
>
> On Windows (NTFS), executable is on by default for new files.  The 
> problem we had is that cygwin svn used that information to set 
> svn:executable on the files.  I put information on how to change 
> Windows file permissions in the last paragraph of the subversion wiki 
> page. You check a box so that the default permissions get propogated 
> to all child directories of the directory whose permissions you modify.

I see, thanks!

Regards Michael

>
> -- Michelle
>
> Michael Bouschen wrote:
>
>> Hi Michelle,
>>
>>> Thank you for blazing the trail, Michael.  I have added this 
>>> information to the Wiki page.
>>
>>
>>
>> You're welcome.
>>
>> At some point we need to synchronize the wiki text with the 
>> description in site/xdocs/svn.xml. I volunteered to have a look at 
>> this file, but I haven't done yet. Today we cannot remove the 
>> subversion page from the wiki, because the one on the JDO incubator 
>> page is not yet updated.
>>
>> Another question about file permissions under windows:
>> I checked out a new workspace today and figured out that all the 
>> files are executable. I think that has nothing to do with subversion, 
>> because the property svn:executable is not set for all these files. 
>> Instead it might have to do with how windows sets file permissions 
>> for file created during the svn checkout. Do you have any idea?
>>
>> Regards Michael
>>
>>>
>>> -- Michelle
>>>
>>> Michael Bouschen wrote:
>>>
>>>> Hi,
>>>>
>>>> some more remarks about the Subversion Win32 version:
>>>> - The windows version stores configuration files under
>>>>   C:\Documents and Settings\<user>\Application Data\Subversion.
>>>> The cygwin version stores these files under ~/.subversion.
>>>> After switching to the windows version I could not check in, 
>>>> because of an authorization failure when accessing svn.apache.org. 
>>>> I could fix this by copying the file servers and the directory auth 
>>>> to the windows location.
>>>> - The windows version uses the backslash as the path separator when 
>>>> displaying file names, e.g. in the output of svn status. You cannot 
>>>> just copy and paste this file name to another svn command (e.g. svn 
>>>> diff) when running from within a bash (the the bash requires 
>>>> slashes). You need to enclose the file name into double quotes.
>>>>
>>>> Regards Michael
>>>>
>>>>> Hi Michelle,
>>>>>
>>>>> thanks for the info, this is very helpful!
>>>>>
>>>>> I agree we should skip the svn:executable flag from the files in 
>>>>> the repository. What about the script createdb.sh from 
>>>>> tck20/test/sql/derby? I think shell scripts should be executable. 
>>>>> However, I think we do not need this script anymore, so let's 
>>>>> remove it.
>>>>>
>>>>> I installed the Subversion 1.2.3 Win32 binaries as you suggested 
>>>>> and it works fine. I decided to remove the subversion component 
>>>>> from my cvgwin installation instead of renaming the svn 
>>>>> executable. I'm not sure whether svn comes with dlls which also 
>>>>> need to be renamed.
>>>>>
>>>>> Would it make sense to add your findings to our SubVersion wiki 
>>>>> page http://wiki.apache.org/jdo/SubversionRepository ? I hope to 
>>>>> get more contributors and committers and they would run into the 
>>>>> same problem if they use svn from cygwin.
>>>>>
>>>>> Regards Michael
>>>>>
>>>>>
>>>>>> Hi Michelle,
>>>>>>
>>>>>> +1
>>>>>> And thanks for running this down.
>>>>>>
>>>>>> I don't believe that the JDO project ships anything for which the 
>>>>>> executable flag needs to be on. We use maven for executing stuff, 
>>>>>> and if maven doesn't care if the -x bit is on, we should not either.
>>>>>>
>>>>>> So I agree that the svn:executable flag is just a distraction and 
>>>>>> we should remove it from the project. And keep from adding it in 
>>>>>> future.
>>>>>>
>>>>>> Craig
>>>>>>
>>>>>> On Aug 31, 2005, at 4:20 PM, Michelle Caisse wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> There has been discussion here about the Windows subversion 
>>>>>>> client automatically assigning the executable property to 
>>>>>>> non-executable files. I believe I have a solution for this.  I 
>>>>>>> also suggest that we clean up the executable properties 
>>>>>>> currently in the repository.
>>>>>>>
>>>>>>> BACKGROUND
>>>>>>>
>>>>>>> Subversion carries executable information in the built-in 
>>>>>>> property called svn:executable.  This property, unlike others,  
>>>>>>> may be present or absent, but it has no value.  You can add it 
>>>>>>> or delete it, but but you cannot change it.
>>>>>>>
>>>>>>> In theory, subversion ignores Windows file permissions; by 
>>>>>>> default svn:executable is not set. In fact, cygwin svn acts like 
>>>>>>> Unix svn and determines the svn:executable property based on 
>>>>>>> file permissions..
>>>>>>>
>>>>>>> If you create a file via the cygwin command line,  by default it 
>>>>>>> is executable only if the filename ends with .bat, .com or 
>>>>>>> .exe*, or if its content starts with #!.  [That's what the doc 
>>>>>>> says, but even in these cases I get -x.] If you create a file 
>>>>>>> via a Windows tool by default its Windows permissions are 
>>>>>>> executable by all and cygwin interprets the Unix-style 
>>>>>>> permissions this way as well.  If the file is executable by all, 
>>>>>>> cygwin svn sets the svn:executable property on the file.
>>>>>>>
>>>>>>> RECOMMENDED ACTIONS
>>>>>>>
>>>>>>> (1) I suggest that we run
>>>>>>>     svn propdel -R svn:executable .
>>>>>>> from jdo to remove the svn:executable property from all of the 
>>>>>>> files in all the projects in the repository and check in the 
>>>>>>> cleansed files.
>>>>>>>
>>>>>>> (2) I suggest that Windows/cygwin users who don't want to have 
>>>>>>> to think about using svn propdel or chmod use a non-cygwin 
>>>>>>> version of svn.  I installed the Subversion 1.2.3 Win32 binaries 
>>>>>>> from the link at the bottom of 
>>>>>>> http://subversion.tigris.org/project_packages.html.  It seems to 
>>>>>>> work fine.  You will have to add the svn.exe location to your 
>>>>>>> Windows PATH variable, of course.  You will also need to rename 
>>>>>>> the svn in your cygwin install to something else because when 
>>>>>>> svn is invoked from a cygwin window, the cygwin version is found 
>>>>>>> even if your cygwin/bin directory is later on the path.
>>>>>>>
>>>>>>> Alternatively, Windows users could set file permissions in 
>>>>>>> Windows Explorer. (Right-click on the top-level folder & select 
>>>>>>> Properties. Select the Security tab. Click Advanced. Remove all 
>>>>>>> instances of Read & Execute from the Permission Entries. Click 
>>>>>>> "Reset permissions on all child objects and enable propogations 
>>>>>>> of inheritable permissions". Click Apply. OK. OK.) You would 
>>>>>>> have to do this again when you do a clean checkout. Comments?
>>>>>>>
>>>>>>> -- Michelle
>>>>>>>
>>>>>>
>>>>>> Craig Russell
>>>>>>
>>>>>> Architect, Sun Java Enterprise System 
>>>>>> http://java.sun.com/products/jdo
>>>>>>
>>>>>> 408 276-5638 mailto:Craig.Russell@sun.com
>>>>>>
>>>>>> P.S. A good JDO? O, Gasp!
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>
>>


-- 
Michael Bouschen		Tech@Spree Engineering GmbH
mailto:mbo.tech@spree.de	http://www.tech.spree.de/
Tel.:++49/30/235 520-33		Buelowstr. 66			
Fax.:++49/30/2175 2012		D-10783 Berlin			


Re: Spurious executable file property in svn repository

Posted by Michelle Caisse <Mi...@Sun.COM>.
Hi Michael,

Craig and I made a first pass at adding the subversion wiki page 
information to the jdo site on Friday.  It needs work, but it's a 
start.  I was planning to continue that process, but if you would like 
to do it, it's fine with me.  Whatever.

On Windows (NTFS), executable is on by default for new files.  The 
problem we had is that cygwin svn used that information to set 
svn:executable on the files.  I put information on how to change Windows 
file permissions in the last paragraph of the subversion wiki page. You 
check a box so that the default permissions get propogated to all child 
directories of the directory whose permissions you modify.

-- Michelle

Michael Bouschen wrote:

> Hi Michelle,
>
>> Thank you for blazing the trail, Michael.  I have added this 
>> information to the Wiki page.
>
>
> You're welcome.
>
> At some point we need to synchronize the wiki text with the 
> description in site/xdocs/svn.xml. I volunteered to have a look at 
> this file, but I haven't done yet. Today we cannot remove the 
> subversion page from the wiki, because the one on the JDO incubator 
> page is not yet updated.
>
> Another question about file permissions under windows:
> I checked out a new workspace today and figured out that all the files 
> are executable. I think that has nothing to do with subversion, 
> because the property svn:executable is not set for all these files. 
> Instead it might have to do with how windows sets file permissions for 
> file created during the svn checkout. Do you have any idea?
>
> Regards Michael
>
>>
>> -- Michelle
>>
>> Michael Bouschen wrote:
>>
>>> Hi,
>>>
>>> some more remarks about the Subversion Win32 version:
>>> - The windows version stores configuration files under
>>>   C:\Documents and Settings\<user>\Application Data\Subversion.
>>> The cygwin version stores these files under ~/.subversion.
>>> After switching to the windows version I could not check in, because 
>>> of an authorization failure when accessing svn.apache.org. I could 
>>> fix this by copying the file servers and the directory auth to the 
>>> windows location.
>>> - The windows version uses the backslash as the path separator when 
>>> displaying file names, e.g. in the output of svn status. You cannot 
>>> just copy and paste this file name to another svn command (e.g. svn 
>>> diff) when running from within a bash (the the bash requires 
>>> slashes). You need to enclose the file name into double quotes.
>>>
>>> Regards Michael
>>>
>>>> Hi Michelle,
>>>>
>>>> thanks for the info, this is very helpful!
>>>>
>>>> I agree we should skip the svn:executable flag from the files in 
>>>> the repository. What about the script createdb.sh from 
>>>> tck20/test/sql/derby? I think shell scripts should be executable. 
>>>> However, I think we do not need this script anymore, so let's 
>>>> remove it.
>>>>
>>>> I installed the Subversion 1.2.3 Win32 binaries as you suggested 
>>>> and it works fine. I decided to remove the subversion component 
>>>> from my cvgwin installation instead of renaming the svn executable. 
>>>> I'm not sure whether svn comes with dlls which also need to be 
>>>> renamed.
>>>>
>>>> Would it make sense to add your findings to our SubVersion wiki 
>>>> page http://wiki.apache.org/jdo/SubversionRepository ? I hope to 
>>>> get more contributors and committers and they would run into the 
>>>> same problem if they use svn from cygwin.
>>>>
>>>> Regards Michael
>>>>
>>>>
>>>>> Hi Michelle,
>>>>>
>>>>> +1
>>>>> And thanks for running this down.
>>>>>
>>>>> I don't believe that the JDO project ships anything for which the 
>>>>> executable flag needs to be on. We use maven for executing stuff, 
>>>>> and if maven doesn't care if the -x bit is on, we should not either.
>>>>>
>>>>> So I agree that the svn:executable flag is just a distraction and 
>>>>> we should remove it from the project. And keep from adding it in 
>>>>> future.
>>>>>
>>>>> Craig
>>>>>
>>>>> On Aug 31, 2005, at 4:20 PM, Michelle Caisse wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> There has been discussion here about the Windows subversion 
>>>>>> client automatically assigning the executable property to 
>>>>>> non-executable files. I believe I have a solution for this.  I 
>>>>>> also suggest that we clean up the executable properties currently 
>>>>>> in the repository.
>>>>>>
>>>>>> BACKGROUND
>>>>>>
>>>>>> Subversion carries executable information in the built-in 
>>>>>> property called svn:executable.  This property, unlike others,  
>>>>>> may be present or absent, but it has no value.  You can add it or 
>>>>>> delete it, but but you cannot change it.
>>>>>>
>>>>>> In theory, subversion ignores Windows file permissions; by 
>>>>>> default svn:executable is not set. In fact, cygwin svn acts like 
>>>>>> Unix svn and determines the svn:executable property based on file 
>>>>>> permissions..
>>>>>>
>>>>>> If you create a file via the cygwin command line,  by default it 
>>>>>> is executable only if the filename ends with .bat, .com or .exe*, 
>>>>>> or if its content starts with #!.  [That's what the doc says, but 
>>>>>> even in these cases I get -x.] If you create a file via a Windows 
>>>>>> tool by default its Windows permissions are executable by all and 
>>>>>> cygwin interprets the Unix-style permissions this way as well.  
>>>>>> If the file is executable by all, cygwin svn sets the 
>>>>>> svn:executable property on the file.
>>>>>>
>>>>>> RECOMMENDED ACTIONS
>>>>>>
>>>>>> (1) I suggest that we run
>>>>>>     svn propdel -R svn:executable .
>>>>>> from jdo to remove the svn:executable property from all of the 
>>>>>> files in all the projects in the repository and check in the 
>>>>>> cleansed files.
>>>>>>
>>>>>> (2) I suggest that Windows/cygwin users who don't want to have to 
>>>>>> think about using svn propdel or chmod use a non-cygwin version 
>>>>>> of svn.  I installed the Subversion 1.2.3 Win32 binaries from the 
>>>>>> link at the bottom of 
>>>>>> http://subversion.tigris.org/project_packages.html.  It seems to 
>>>>>> work fine.  You will have to add the svn.exe location to your 
>>>>>> Windows PATH variable, of course.  You will also need to rename 
>>>>>> the svn in your cygwin install to something else because when svn 
>>>>>> is invoked from a cygwin window, the cygwin version is found even 
>>>>>> if your cygwin/bin directory is later on the path.
>>>>>>
>>>>>> Alternatively, Windows users could set file permissions in 
>>>>>> Windows Explorer. (Right-click on the top-level folder & select 
>>>>>> Properties. Select the Security tab. Click Advanced. Remove all 
>>>>>> instances of Read & Execute from the Permission Entries. Click 
>>>>>> "Reset permissions on all child objects and enable propogations 
>>>>>> of inheritable permissions". Click Apply. OK. OK.) You would have 
>>>>>> to do this again when you do a clean checkout. Comments?
>>>>>>
>>>>>> -- Michelle
>>>>>>
>>>>>
>>>>> Craig Russell
>>>>>
>>>>> Architect, Sun Java Enterprise System 
>>>>> http://java.sun.com/products/jdo
>>>>>
>>>>> 408 276-5638 mailto:Craig.Russell@sun.com
>>>>>
>>>>> P.S. A good JDO? O, Gasp!
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>
>


Re: Spurious executable file property in svn repository

Posted by Michael Bouschen <mb...@spree.de>.
Hi Michelle,

> Thank you for blazing the trail, Michael.  I have added this information 
> to the Wiki page.

You're welcome.

At some point we need to synchronize the wiki text with the description 
in site/xdocs/svn.xml. I volunteered to have a look at this file, but I 
haven't done yet. Today we cannot remove the subversion page from the 
wiki, because the one on the JDO incubator page is not yet updated.

Another question about file permissions under windows:
I checked out a new workspace today and figured out that all the files 
are executable. I think that has nothing to do with subversion, because 
the property svn:executable is not set for all these files. Instead it 
might have to do with how windows sets file permissions for file created 
during the svn checkout. Do you have any idea?

Regards Michael

> 
> -- Michelle
> 
> Michael Bouschen wrote:
> 
>> Hi,
>>
>> some more remarks about the Subversion Win32 version:
>> - The windows version stores configuration files under
>>   C:\Documents and Settings\<user>\Application Data\Subversion.
>> The cygwin version stores these files under ~/.subversion.
>> After switching to the windows version I could not check in, because 
>> of an authorization failure when accessing svn.apache.org. I could fix 
>> this by copying the file servers and the directory auth to the windows 
>> location.
>> - The windows version uses the backslash as the path separator when 
>> displaying file names, e.g. in the output of svn status. You cannot 
>> just copy and paste this file name to another svn command (e.g. svn 
>> diff) when running from within a bash (the the bash requires slashes). 
>> You need to enclose the file name into double quotes.
>>
>> Regards Michael
>>
>>> Hi Michelle,
>>>
>>> thanks for the info, this is very helpful!
>>>
>>> I agree we should skip the svn:executable flag from the files in the 
>>> repository. What about the script createdb.sh from 
>>> tck20/test/sql/derby? I think shell scripts should be executable. 
>>> However, I think we do not need this script anymore, so let's remove it.
>>>
>>> I installed the Subversion 1.2.3 Win32 binaries as you suggested and 
>>> it works fine. I decided to remove the subversion component from my 
>>> cvgwin installation instead of renaming the svn executable. I'm not 
>>> sure whether svn comes with dlls which also need to be renamed.
>>>
>>> Would it make sense to add your findings to our SubVersion wiki page 
>>> http://wiki.apache.org/jdo/SubversionRepository ? I hope to get more 
>>> contributors and committers and they would run into the same problem 
>>> if they use svn from cygwin.
>>>
>>> Regards Michael
>>>
>>>
>>>> Hi Michelle,
>>>>
>>>> +1
>>>> And thanks for running this down.
>>>>
>>>> I don't believe that the JDO project ships anything for which the 
>>>> executable flag needs to be on. We use maven for executing stuff, 
>>>> and if maven doesn't care if the -x bit is on, we should not either.
>>>>
>>>> So I agree that the svn:executable flag is just a distraction and we 
>>>> should remove it from the project. And keep from adding it in future.
>>>>
>>>> Craig
>>>>
>>>> On Aug 31, 2005, at 4:20 PM, Michelle Caisse wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> There has been discussion here about the Windows subversion client 
>>>>> automatically assigning the executable property to non-executable 
>>>>> files. I believe I have a solution for this.  I also suggest that 
>>>>> we clean up the executable properties currently in the repository.
>>>>>
>>>>> BACKGROUND
>>>>>
>>>>> Subversion carries executable information in the built-in property 
>>>>> called svn:executable.  This property, unlike others,  may be 
>>>>> present or absent, but it has no value.  You can add it or delete 
>>>>> it, but but you cannot change it.
>>>>>
>>>>> In theory, subversion ignores Windows file permissions; by default 
>>>>> svn:executable is not set. In fact, cygwin svn acts like Unix svn 
>>>>> and determines the svn:executable property based on file permissions..
>>>>>
>>>>> If you create a file via the cygwin command line,  by default it is 
>>>>> executable only if the filename ends with .bat, .com or .exe*, or 
>>>>> if its content starts with #!.  [That's what the doc says, but even 
>>>>> in these cases I get -x.] If you create a file via a Windows tool 
>>>>> by default its Windows permissions are executable by all and cygwin 
>>>>> interprets the Unix-style permissions this way as well.  If the 
>>>>> file is executable by all, cygwin svn sets the svn:executable 
>>>>> property on the file.
>>>>>
>>>>> RECOMMENDED ACTIONS
>>>>>
>>>>> (1) I suggest that we run
>>>>>     svn propdel -R svn:executable .
>>>>> from jdo to remove the svn:executable property from all of the 
>>>>> files in all the projects in the repository and check in the 
>>>>> cleansed files.
>>>>>
>>>>> (2) I suggest that Windows/cygwin users who don't want to have to 
>>>>> think about using svn propdel or chmod use a non-cygwin version of 
>>>>> svn.  I installed the Subversion 1.2.3 Win32 binaries from the link 
>>>>> at the bottom of 
>>>>> http://subversion.tigris.org/project_packages.html.  It seems to 
>>>>> work fine.  You will have to add the svn.exe location to your 
>>>>> Windows PATH variable, of course.  You will also need to rename the 
>>>>> svn in your cygwin install to something else because when svn is 
>>>>> invoked from a cygwin window, the cygwin version is found even if 
>>>>> your cygwin/bin directory is later on the path.
>>>>>
>>>>> Alternatively, Windows users could set file permissions in Windows 
>>>>> Explorer. (Right-click on the top-level folder & select Properties. 
>>>>> Select the Security tab. Click Advanced. Remove all instances of 
>>>>> Read & Execute from the Permission Entries. Click "Reset 
>>>>> permissions on all child objects and enable propogations of 
>>>>> inheritable permissions". Click Apply. OK. OK.) You would have to 
>>>>> do this again when you do a clean checkout. Comments?
>>>>>
>>>>> -- Michelle
>>>>>
>>>>
>>>> Craig Russell
>>>>
>>>> Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
>>>>
>>>> 408 276-5638 mailto:Craig.Russell@sun.com
>>>>
>>>> P.S. A good JDO? O, Gasp!
>>>>
>>>>
>>>
>>>
>>
>>


-- 
Michael Bouschen		Tech@Spree Engineering GmbH
mailto:mbo.tech@spree.de	http://www.tech.spree.de/
Tel.:++49/30/235 520-33		Buelowstr. 66			
Fax.:++49/30/2175 2012		D-10783 Berlin			

Re: Spurious executable file property in svn repository

Posted by Michelle Caisse <Mi...@Sun.COM>.
Thank you for blazing the trail, Michael.  I have added this information 
to the Wiki page.

-- Michelle

Michael Bouschen wrote:

> Hi,
>
> some more remarks about the Subversion Win32 version:
> - The windows version stores configuration files under
>   C:\Documents and Settings\<user>\Application Data\Subversion.
> The cygwin version stores these files under ~/.subversion.
> After switching to the windows version I could not check in, because 
> of an authorization failure when accessing svn.apache.org. I could fix 
> this by copying the file servers and the directory auth to the windows 
> location.
> - The windows version uses the backslash as the path separator when 
> displaying file names, e.g. in the output of svn status. You cannot 
> just copy and paste this file name to another svn command (e.g. svn 
> diff) when running from within a bash (the the bash requires slashes). 
> You need to enclose the file name into double quotes.
>
> Regards Michael
>
>> Hi Michelle,
>>
>> thanks for the info, this is very helpful!
>>
>> I agree we should skip the svn:executable flag from the files in the 
>> repository. What about the script createdb.sh from 
>> tck20/test/sql/derby? I think shell scripts should be executable. 
>> However, I think we do not need this script anymore, so let's remove it.
>>
>> I installed the Subversion 1.2.3 Win32 binaries as you suggested and 
>> it works fine. I decided to remove the subversion component from my 
>> cvgwin installation instead of renaming the svn executable. I'm not 
>> sure whether svn comes with dlls which also need to be renamed.
>>
>> Would it make sense to add your findings to our SubVersion wiki page 
>> http://wiki.apache.org/jdo/SubversionRepository ? I hope to get more 
>> contributors and committers and they would run into the same problem 
>> if they use svn from cygwin.
>>
>> Regards Michael
>>
>>
>>> Hi Michelle,
>>>
>>> +1
>>> And thanks for running this down.
>>>
>>> I don't believe that the JDO project ships anything for which the 
>>> executable flag needs to be on. We use maven for executing stuff, 
>>> and if maven doesn't care if the -x bit is on, we should not either.
>>>
>>> So I agree that the svn:executable flag is just a distraction and we 
>>> should remove it from the project. And keep from adding it in future.
>>>
>>> Craig
>>>
>>> On Aug 31, 2005, at 4:20 PM, Michelle Caisse wrote:
>>>
>>>> Hi,
>>>>
>>>> There has been discussion here about the Windows subversion client 
>>>> automatically assigning the executable property to non-executable 
>>>> files. I believe I have a solution for this.  I also suggest that 
>>>> we clean up the executable properties currently in the repository.
>>>>
>>>> BACKGROUND
>>>>
>>>> Subversion carries executable information in the built-in property 
>>>> called svn:executable.  This property, unlike others,  may be 
>>>> present or absent, but it has no value.  You can add it or delete 
>>>> it, but but you cannot change it.
>>>>
>>>> In theory, subversion ignores Windows file permissions; by default 
>>>> svn:executable is not set. In fact, cygwin svn acts like Unix svn 
>>>> and determines the svn:executable property based on file permissions..
>>>>
>>>> If you create a file via the cygwin command line,  by default it is 
>>>> executable only if the filename ends with .bat, .com or .exe*, or 
>>>> if its content starts with #!.  [That's what the doc says, but even 
>>>> in these cases I get -x.] If you create a file via a Windows tool 
>>>> by default its Windows permissions are executable by all and cygwin 
>>>> interprets the Unix-style permissions this way as well.  If the 
>>>> file is executable by all, cygwin svn sets the svn:executable 
>>>> property on the file.
>>>>
>>>> RECOMMENDED ACTIONS
>>>>
>>>> (1) I suggest that we run
>>>>     svn propdel -R svn:executable .
>>>> from jdo to remove the svn:executable property from all of the 
>>>> files in all the projects in the repository and check in the 
>>>> cleansed files.
>>>>
>>>> (2) I suggest that Windows/cygwin users who don't want to have to 
>>>> think about using svn propdel or chmod use a non-cygwin version of 
>>>> svn.  I installed the Subversion 1.2.3 Win32 binaries from the link 
>>>> at the bottom of 
>>>> http://subversion.tigris.org/project_packages.html.  It seems to 
>>>> work fine.  You will have to add the svn.exe location to your 
>>>> Windows PATH variable, of course.  You will also need to rename the 
>>>> svn in your cygwin install to something else because when svn is 
>>>> invoked from a cygwin window, the cygwin version is found even if 
>>>> your cygwin/bin directory is later on the path.
>>>>
>>>> Alternatively, Windows users could set file permissions in Windows 
>>>> Explorer. (Right-click on the top-level folder & select Properties. 
>>>> Select the Security tab. Click Advanced. Remove all instances of 
>>>> Read & Execute from the Permission Entries. Click "Reset 
>>>> permissions on all child objects and enable propogations of 
>>>> inheritable permissions". Click Apply. OK. OK.) You would have to 
>>>> do this again when you do a clean checkout. Comments?
>>>>
>>>> -- Michelle
>>>>
>>>
>>> Craig Russell
>>>
>>> Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
>>>
>>> 408 276-5638 mailto:Craig.Russell@sun.com
>>>
>>> P.S. A good JDO? O, Gasp!
>>>
>>>
>>
>>
>
>


Re: Spurious executable file property in svn repository

Posted by Michael Bouschen <mb...@spree.de>.
Hi,

some more remarks about the Subversion Win32 version:
- The windows version stores configuration files under
   C:\Documents and Settings\<user>\Application Data\Subversion.
The cygwin version stores these files under ~/.subversion.
After switching to the windows version I could not check in, because of 
an authorization failure when accessing svn.apache.org. I could fix this 
by copying the file servers and the directory auth to the windows location.
- The windows version uses the backslash as the path separator when 
displaying file names, e.g. in the output of svn status. You cannot just 
copy and paste this file name to another svn command (e.g. svn diff) 
when running from within a bash (the the bash requires slashes). You 
need to enclose the file name into double quotes.

Regards Michael

> Hi Michelle,
> 
> thanks for the info, this is very helpful!
> 
> I agree we should skip the svn:executable flag from the files in the 
> repository. What about the script createdb.sh from tck20/test/sql/derby? 
> I think shell scripts should be executable. However, I think we do not 
> need this script anymore, so let's remove it.
> 
> I installed the Subversion 1.2.3 Win32 binaries as you suggested and it 
> works fine. I decided to remove the subversion component from my cvgwin 
> installation instead of renaming the svn executable. I'm not sure 
> whether svn comes with dlls which also need to be renamed.
> 
> Would it make sense to add your findings to our SubVersion wiki page 
> http://wiki.apache.org/jdo/SubversionRepository ? I hope to get more 
> contributors and committers and they would run into the same problem if 
> they use svn from cygwin.
> 
> Regards Michael
> 
> 
>> Hi Michelle,
>>
>> +1
>> And thanks for running this down.
>>
>> I don't believe that the JDO project ships anything for which the 
>> executable flag needs to be on. We use maven for executing stuff, and 
>> if maven doesn't care if the -x bit is on, we should not either.
>>
>> So I agree that the svn:executable flag is just a distraction and we 
>> should remove it from the project. And keep from adding it in future.
>>
>> Craig
>>
>> On Aug 31, 2005, at 4:20 PM, Michelle Caisse wrote:
>>
>>> Hi,
>>>
>>> There has been discussion here about the Windows subversion client 
>>> automatically assigning the executable property to non-executable 
>>> files. I believe I have a solution for this.  I also suggest that we 
>>> clean up the executable properties currently in the repository.
>>>
>>> BACKGROUND
>>>
>>> Subversion carries executable information in the built-in property 
>>> called svn:executable.  This property, unlike others,  may be present 
>>> or absent, but it has no value.  You can add it or delete it, but but 
>>> you cannot change it.
>>>
>>> In theory, subversion ignores Windows file permissions; by default 
>>> svn:executable is not set. In fact, cygwin svn acts like Unix svn and 
>>> determines the svn:executable property based on file permissions..
>>>
>>> If you create a file via the cygwin command line,  by default it is 
>>> executable only if the filename ends with .bat, .com or .exe*, or if 
>>> its content starts with #!.  [That's what the doc says, but even in 
>>> these cases I get -x.] If you create a file via a Windows tool by 
>>> default its Windows permissions are executable by all and cygwin 
>>> interprets the Unix-style permissions this way as well.  If the file 
>>> is executable by all, cygwin svn sets the svn:executable property on 
>>> the file.
>>>
>>> RECOMMENDED ACTIONS
>>>
>>> (1) I suggest that we run
>>>     svn propdel -R svn:executable .
>>> from jdo to remove the svn:executable property from all of the files 
>>> in all the projects in the repository and check in the cleansed files.
>>>
>>> (2) I suggest that Windows/cygwin users who don't want to have to 
>>> think about using svn propdel or chmod use a non-cygwin version of 
>>> svn.  I installed the Subversion 1.2.3 Win32 binaries from the link 
>>> at the bottom of http://subversion.tigris.org/project_packages.html.  
>>> It seems to work fine.  You will have to add the svn.exe location to 
>>> your Windows PATH variable, of course.  You will also need to rename 
>>> the svn in your cygwin install to something else because when svn is 
>>> invoked from a cygwin window, the cygwin version is found even if 
>>> your cygwin/bin directory is later on the path.
>>>
>>> Alternatively, Windows users could set file permissions in Windows 
>>> Explorer. (Right-click on the top-level folder & select Properties. 
>>> Select the Security tab. Click Advanced. Remove all instances of Read 
>>> & Execute from the Permission Entries. Click "Reset permissions on 
>>> all child objects and enable propogations of inheritable 
>>> permissions". Click Apply. OK. OK.) You would have to do this again 
>>> when you do a clean checkout. Comments?
>>>
>>> -- Michelle
>>>
>>
>> Craig Russell
>>
>> Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
>>
>> 408 276-5638 mailto:Craig.Russell@sun.com
>>
>> P.S. A good JDO? O, Gasp!
>>
>>
> 
> 


-- 
Michael Bouschen		Tech@Spree Engineering GmbH
mailto:mbo.tech@spree.de	http://www.tech.spree.de/
Tel.:++49/30/235 520-33		Buelowstr. 66			
Fax.:++49/30/2175 2012		D-10783 Berlin			

Re: Spurious executable file property in svn repository

Posted by Michael Bouschen <mb...@spree.de>.
Hi Michelle,

thanks for the info, this is very helpful!

I agree we should skip the svn:executable flag from the files in the 
repository. What about the script createdb.sh from tck20/test/sql/derby? 
I think shell scripts should be executable. However, I think we do not 
need this script anymore, so let's remove it.

I installed the Subversion 1.2.3 Win32 binaries as you suggested and it 
works fine. I decided to remove the subversion component from my cvgwin 
installation instead of renaming the svn executable. I'm not sure 
whether svn comes with dlls which also need to be renamed.

Would it make sense to add your findings to our SubVersion wiki page 
http://wiki.apache.org/jdo/SubversionRepository ? I hope to get more 
contributors and committers and they would run into the same problem if 
they use svn from cygwin.

Regards Michael


> Hi Michelle,
> 
> +1 
> 
> And thanks for running this down.
> 
> I don't believe that the JDO project ships anything for which the 
> executable flag needs to be on. We use maven for executing stuff, and if 
> maven doesn't care if the -x bit is on, we should not either.
> 
> So I agree that the svn:executable flag is just a distraction and we 
> should remove it from the project. And keep from adding it in future.
> 
> Craig
> 
> On Aug 31, 2005, at 4:20 PM, Michelle Caisse wrote:
> 
>> Hi,
>>
>> There has been discussion here about the Windows subversion client 
>> automatically assigning the executable property to non-executable 
>> files. I believe I have a solution for this.  I also suggest that we 
>> clean up the executable properties currently in the repository.
>>
>> BACKGROUND
>>
>> Subversion carries executable information in the built-in property 
>> called svn:executable.  This property, unlike others,  may be present 
>> or absent, but it has no value.  You can add it or delete it, but but 
>> you cannot change it.
>>
>> In theory, subversion ignores Windows file permissions; by default 
>> svn:executable is not set. In fact, cygwin svn acts like Unix svn and 
>> determines the svn:executable property based on file permissions..
>>
>> If you create a file via the cygwin command line,  by default it is 
>> executable only if the filename ends with .bat, .com or .exe*, or if 
>> its content starts with #!.  [That's what the doc says, but even in 
>> these cases I get -x.] If you create a file via a Windows tool by 
>> default its Windows permissions are executable by all and cygwin 
>> interprets the Unix-style permissions this way as well.  If the file 
>> is executable by all, cygwin svn sets the svn:executable property on 
>> the file.
>>
>> RECOMMENDED ACTIONS
>>
>> (1) I suggest that we run
>>     svn propdel -R svn:executable .
>> from jdo to remove the svn:executable property from all of the files 
>> in all the projects in the repository and check in the cleansed files.
>>
>> (2) I suggest that Windows/cygwin users who don't want to have to 
>> think about using svn propdel or chmod use a non-cygwin version of 
>> svn.  I installed the Subversion 1.2.3 Win32 binaries from the link at 
>> the bottom of http://subversion.tigris.org/project_packages.html.  It 
>> seems to work fine.  You will have to add the svn.exe location to your 
>> Windows PATH variable, of course.  You will also need to rename the 
>> svn in your cygwin install to something else because when svn is 
>> invoked from a cygwin window, the cygwin version is found even if your 
>> cygwin/bin directory is later on the path.
>>
>> Alternatively, Windows users could set file permissions in Windows 
>> Explorer. (Right-click on the top-level folder & select Properties. 
>> Select the Security tab. Click Advanced. Remove all instances of Read 
>> & Execute from the Permission Entries. Click "Reset permissions on all 
>> child objects and enable propogations of inheritable permissions". 
>> Click Apply. OK. OK.) You would have to do this again when you do a 
>> clean checkout. 
>> Comments?
>>
>> -- Michelle
>>
> 
> Craig Russell
> 
> Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
> 
> 408 276-5638 mailto:Craig.Russell@sun.com
> 
> P.S. A good JDO? O, Gasp!
> 
> 


-- 
Michael Bouschen		Tech@Spree Engineering GmbH
mailto:mbo.tech@spree.de	http://www.tech.spree.de/
Tel.:++49/30/235 520-33		Buelowstr. 66			
Fax.:++49/30/2175 2012		D-10783 Berlin			

Re: Spurious executable file property in svn repository

Posted by Craig Russell <Cr...@Sun.COM>.
Hi Michelle,

+1

And thanks for running this down.

I don't believe that the JDO project ships anything for which the  
executable flag needs to be on. We use maven for executing stuff, and  
if maven doesn't care if the -x bit is on, we should not either.

So I agree that the svn:executable flag is just a distraction and we  
should remove it from the project. And keep from adding it in future.

Craig

On Aug 31, 2005, at 4:20 PM, Michelle Caisse wrote:

> Hi,
>
> There has been discussion here about the Windows subversion client  
> automatically assigning the executable property to non-executable  
> files. I believe I have a solution for this.  I also suggest that  
> we clean up the executable properties currently in the repository.
>
> BACKGROUND
>
> Subversion carries executable information in the built-in property  
> called svn:executable.  This property, unlike others,  may be  
> present or absent, but it has no value.  You can add it or delete  
> it, but but you cannot change it.
>
> In theory, subversion ignores Windows file permissions; by default  
> svn:executable is not set. In fact, cygwin svn acts like Unix svn  
> and determines the svn:executable property based on file permissions..
>
> If you create a file via the cygwin command line,  by default it is  
> executable only if the filename ends with .bat, .com or .exe*, or  
> if its content starts with #!.  [That's what the doc says, but even  
> in these cases I get -x.] If you create a file via a Windows tool  
> by default its Windows permissions are executable by all and cygwin  
> interprets the Unix-style permissions this way as well.  If the  
> file is executable by all, cygwin svn sets the svn:executable  
> property on the file.
>
> RECOMMENDED ACTIONS
>
> (1) I suggest that we run
>     svn propdel -R svn:executable .
> from jdo to remove the svn:executable property from all of the  
> files in all the projects in the repository and check in the  
> cleansed files.
>
> (2) I suggest that Windows/cygwin users who don't want to have to  
> think about using svn propdel or chmod use a non-cygwin version of  
> svn.  I installed the Subversion 1.2.3 Win32 binaries from the link  
> at the bottom of http://subversion.tigris.org/ 
> project_packages.html.  It seems to work fine.  You will have to  
> add the svn.exe location to your Windows PATH variable, of course.   
> You will also need to rename the svn in your cygwin install to  
> something else because when svn is invoked from a cygwin window,  
> the cygwin version is found even if your cygwin/bin directory is  
> later on the path.
>
> Alternatively, Windows users could set file permissions in Windows  
> Explorer. (Right-click on the top-level folder & select Properties.  
> Select the Security tab. Click Advanced. Remove all instances of  
> Read & Execute from the Permission Entries. Click "Reset  
> permissions on all child objects and enable propogations of  
> inheritable permissions". Click Apply. OK. OK.) You would have to  
> do this again when you do a clean checkout.
> Comments?
>
> -- Michelle
>

Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!