Question

Here is the question:
Can TortoiseSvn work on Windows 2008 without turning off User Account Control?

Here is the story: I just moved my test server to Windows 2008 and I am having problems with TortoiseSvn. I am logged on as an administrator, but when I go to update some code from the Subversion repository, I get a message saying: Error Can't set file 'C:\dev\trunk.svn\entries' read-write: Access is denied So I have seen messages like that and I know to run cleanup. But when I run cleanup I get: Cleanup failed to process the following paths: C:\dev\trunk

So further investigation convinces me that I have a permissions problem. Running svn status from a command prompt shows me that the directories are locked and running svn cleanup fails just like the tortoise cleanup did. But when I launch the command prompt as an administrator, I can run svn cleanup with out a problem and I can run svn up and get my files updated.

UPDATE: This is a windows UAC permissions problem. Turning off UAC fixes the problem. But I would like to find a solution that doesn't require turning off UAC. Since Tortoise is a windows shell extension, I don't know how to make it run as administrator.

Any suggestions?

Was it helpful?

Solution

right-click on your working copy c:\dev folder, select "properties" from the context menu. In the properties dialog, go to the security tab. You will notice that the Admin user doesn't have full access (the user is not listed there). Add the Admin user and give it full access rights.

Yes, the Admin user usually has full access rights to all folders, but only after the UAC prompt. Applications usually don't provide the UAC prompt but get an access-denied error instead. To give the Admin user full access to that folder without the UAC prompt, you have to add that user manually.

OTHER TIPS

Take ownership and give yourself a full control on C:\Dev\Trunk.svn and children. That should solve your problem.

I would advise against turning off UAC. If you need to turn it off though, you can do it through Control Panel\User Accounts\Turn User Account on or off.

I use TortoiseSVN on Windows Vista SP1 with UAC turned on. I've had no problems. Since Vista SP1 and Windows 2008 are essentially the same operating system, I think you might be experiencing another problem.

SVN does a lot of renaming of temporary files, and it's not particularly robust if there's a sharing violation. I've found that some antivirus products will spot that SVN has just closed a (temporary) file. They'll scan it, and while they're scanning it, SVN attempts to rename it -- sharing violation: boom. Search indexers sometimes cause the same problem.

See if you can stop your source directories from being indexed, or prevent your AV from doing realtime scanning on them. You can exclude the directories, or you can exclude the TortoiseProc.exe process.

We just updated to SVN 1.9.3, but we use SVN on our development server to update our testing sites directly from the repository by checking out the website files. We found that users who did not perform the original checkout do not have permission to run an SVN update. Now, all of these users are part of the administrators group, and it still did not matter, but what we found was very odd is that you can add the Everyone group to the checked out folder, and then anyone is able to perform an SVN Update.

I don't understand why the everyone group being added would be able to perform this, and not anyone from the Administrators group.

I ensured that the Administrators group had full control, and that it was propagated to all sub directories and files. It did not matter.

If anyone else has an explanation for this, it would be very helpful.

Did you try navigating to Program Files\TortoiseSVN\bin in Windows Explorer and setting "run ad administrator" on TortoiseProc.exe > Properties > Compatibility?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top