I created a repository and created a subdirectory in it named 'scripts'. In this are a half-dozen Linux shell scripts. Unfortunately, I set the execute flag on only five of them; the sixth was untested as of my first commit so I had never noticed that the execute attribute was unset.

[1] I set the execute attribute and did a commit, but the file was not updated in the repository. Apparently the change in atributes was not recognized as a file change by Subversion.

[2] I touched the file - I touched ALL the files in scripts, and none of them was updated on the commit. Apparently the file timestamp change was not taken as a file change by Subversion. OK, Subversion is not storing timestamps.

[3] I edited the file, and this was taken as an update by Subversion. I just added a blank line to the end of it. But note that the file attributes now include the execute flag. I did another checkout, and unfortunately the execute flag is STILL not set.

In my humble opinion [1] and [3] should have resulted in the file attributes stored in the repository being changed.

So I did an svn delete for that file, then a commit. I restored the file from a backup, set the attributes, did an svn add for that file, then a commit. Went to another directory and did an svn checkout. OK; now the attributes are correct.

Reply via email to