(Apologies for the duplicate; I meant to respond to the users@ list but omitted it the first time...)
On Fri, Dec 13, 2024 at 12:10 PM Barry Scott <ba...@barrys-emacs.org> wrote: > > I have a svn repo hosted on a Fedora server that I access via http: using > mod_dav_svn-1.14.4-1.fc41.x86_64. > > The repo has 1999 revs in it but fails to create rev 2000 with these errors > in the httpd error log: > > [dav:error] An error occurred while committing the transaction. [500, #1] > [dav:error] Can't set permissions on > '/shared/SourceControl/barrys-sources/db/revs/2' [500, #1] > [dav:error] Can't set permissions on > '/shared/SourceControl/barrys-sources/db/revs/2': Operation not permitted > [500, #1] > > As use apache I can create and delete a the file > > /shared/SourceControl/barrys-sources/db/revs/2/tmp > > I have tried to svnadmin dump and svnadmin load to see if that makes a > difference. > But the problem is identical on the old and new repos. > > What do I need to investigate and fix to allow rev 2000? > > Barry Hi Barry, I would check permissions and ownership. It looks like you already verified that user 'apache' can create a file in in the db/revs/2 subdirectory. However, only the owner* of a file or directory can change its permissions. Is 'apache' the owner of the '2' subdirectory? Since it worked until revision 1999, who is the owner of the '1' subdirectory (which contains revs 1000-1999) and how are its permissions? Also who is the owner of the parent 'revs' subdirectory and how are its permissions? It's possible that some time in the past, after revision 1000 but before now, that the ownership of these directories changed for some reason. Software updates? Moving things to a new hard drive? A permissions check that automatically "fixed" things? It wasn't noticed until now because the '2' subdirectory isn't created until revision 2000. [*] It's not strictly true that *only* the owner of a file or directory may change its permissions. The root user may also do so; however, please *don't* run the server as root! Hope this helps, Nathan