Tortoise SVN操作后文件丢失了IIS_IUSRS权限

Dav*_*b60 17 svn asp.net iis tortoisesvn file-permissions

我最近将我的开发机器从Windows XP切换到Windows 7,从那次切换开始,当我使用Tortoise SVN进行操作时,我遇到了文件权限问题.

示例:我在本地IIS上设置了两个ASP.NET网站.BetaDevlo.Beta是我正在处理的分支机构Devlo的检查,是检查中继线.
我在Beta网站上做了一些更改并将其检入.
然后我mergeDevlo网站上重新整合了卡车中的分支,但是当我测试它时出现了这个错误:

Parser Error   
Description: An error occurred during the parsing of a resource required to 
service this request. Please review the following specific parse error details 
and modify your source file appropriately.  

Parser Error Message: Access to the path 'C:\[...]' is denied.
Run Code Online (Sandbox Code Playgroud)

经过调查,我发现Tortoise SVN修改的每个文件都merge失去了对用户IUSEIIS_IUSRS的文件权限(读取,读取和执行).

我可以手动将它们放回去,但每次执行此类操作时都会发生这种情况.是否有办法通过SVN操作保持这些权限不变?


更新
在合并之前,文件是继承的是来自父文件夹的权限(它应该这样做.)
在合并之前

但合并后不是:

合并之后

原始文件(在beta文件夹中)是从父文件夹继承的权限.为什么TortoiseSVN(明确地?)阻止权限继承?

Zac*_*Zac 14

我有同样的问题并在这个SO答案的帮助下修复它:https://stackoverflow.com/a/8993163/361831

答案提到更新的文件被复制到.svn/tmp目录,该目录位于工作副本的顶层(从tortoiseSVN 1.7开始).这个顶级目录没有IIS权限,所以我猜他们在复制期间没有继承.所以我只是将IIS权限设置为该顶级目录并设置为继承,这解决了问题.

  • 经过测试和工作,但是当您的目录结构*需要*对某些特定子文件夹应用不同的权限时,仍然存在问题.就像上传子目录或其他任何内容的写权限一样.但至少可以确定问题的根源.谢谢! (2认同)