Changing executable permissions under Subversion
I manage my projects using Subversion. One day, I checked out my old project and found out that C source files are flagged with executable permissions. Provably, when I first checked them into the repository, they were accidentally with executable permissions. In my attempt to fix it, I changed them back to non-executables by chmod command and committed the files with other changes to the repository. However, when I updated the files on other computer, the source files are still with executable permissions!
After a survey, I figured out that I could fix it by an svn sub-command: svn propdel. To remove an executable permission from a file (e.g. source.c) in your repository, do
$ svn propdel svn:executable source.c
and commit the change by
$ svn commit source.c
If, on the other hand, we wish to set an executable permission to a program file (e.g. program.sh), we can use a sub-command svn propset as
$ svn propset svn:executable ON program.sh
and then commit the change by
$ svn commit program.sh
References
Version Control with Subversion (http://svnbook.red-bean.com/nightly/en/index.html)