db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Bouschen <mbo.t...@spree.de>
Subject Re: Spurious executable file property in svn repository
Date Wed, 07 Sep 2005 16:58:47 GMT
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. 
>>>>>>> also suggest that we clean up the executable properties 
>>>>>>> currently in the repository.
>>>>>>> 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
>>>>>>> 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.
>>>>>>> (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
>>>>>>> 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 &
>>>>>>> Properties. Select the Security tab. Click Advanced. Remove all

>>>>>>> instances of Read & Execute from the Permission Entries.
>>>>>>> "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			

View raw message