On 2021-05-25 08:06, Nathan Hartman wrote:
On Mon, May 24, 2021 at 5:04 AM Pingu <pi...@maybenot.work> wrote:
Hello,

I was adding some files to a repository and encountered error "E000030:
Can't change perms". The commit was successful but I don't understand
the error.

The files I added were from a read-only source, so I understand the
nature of the error. What I don't understand is, why is SVN trying to
change permissions?

I assume this doesn't affect the commit but I would like to understand.

-Kenneth

Example of error:

svn: E200000: Commit succeeded, but other errors follow:
svn: E155009: Error bumping revisions post-commit (details follow):
svn: E155009: Failed to run the WC DB work queue associated with
'somerepository', work item 17 (file-commit 12 somefile)
svn: E000030: Can't change perms of file 'somefile': Read-only file system

During post-commit processing, Subversion ensures that the file is as
it should be in the working copy [1], meaning that its contents and
permissions match its properties and lock status. This includes
adjusting (if necessary) line ending style, keyword translation, and
read/write/execute permissions. In other words, this may alter not
only the file's permissions, but also its contents.

You can see other examples of this post-commit processing in action.
For example, create a test repository, add and commit a text file with
CRLF line endings. Then, add a svn:eol-style property of "LF" to the
file and commit again. Then, without running 'svn update' or any other
commands that might make changes, check the contents of the file and
you'll see that its line endings have changed to LF.

Hope this helps!

[1] See install_committed_file() in libsvn_wc/workqueue.c.

Cheers,
Nathan

That makes sense! I wondered why the error popped up on a text file, instead of another file.

Thank you for the details and explanation. I'm glad that SVN considers the commit successful, even though it can't alter the working copy, afterwards.

-Kenneth

Reply via email to