TortoiseSvn和Windows Server 2008用户帐户控制

时间:2008-10-30 17:49:15

标签: tortoisesvn windows-server-2008 uac

这是一个问题:
TortoiseSvn可以在不关闭用户帐户控制的情况下在Windows 2008上运行吗?

以下是故事: 我刚刚将我的测试服务器移到了Windows 2008,我遇到了TortoiseSvn的问题。我以管理员身份登录,但是当我从Subversion存储库更新一些代码时,我收到一条消息:   错误无法设置文件'C:\ dev \ trunk.svn \ entries'读写:访问被拒绝 所以我看过这样的消息,我知道要进行清理。但当我运行清理时,我得到:   清理无法处理以下路径:C:\ dev \ trunk

因此,进一步调查使我确信我有权限问题。从命令提示符运行 svn status 会向我显示目录已锁定且运行 svn cleanup 失败,就像乌龟清理一样。但是当我以管理员身份启动命令提示符时,我可以运行 svn cleanup 而不会出现问题,我可以运行 svn up 并更新我的文件。

更新: 这是一个Windows UAC权限问题。关闭UAC可以解决问题。但我想找到一个不需要关闭UAC的解决方案。由于Tortoise是一个Windows shell扩展,我不知道如何让它以管理员身份运行。

有什么建议吗?

5 个答案:

答案 0 :(得分:38)

右键单击工作副本c:\ dev文件夹,从上下文菜单中选择“属性”。 在属性对话框中,转到安全选项卡。您会注意到Admin用户没有完全访问权限(用户未在此处列出)。 添加管理员用户并授予其完全访问权限。

是的,管理员用户通常拥有所有文件夹的完全访问权限,但仅限于UAC提示后。应用程序通常不提供UAC提示,而是获取访问被拒绝的错误。要在没有UAC提示的情况下为Admin用户提供对该文件夹的完全访问权限,您必须手动添加该用户。

答案 1 :(得分:9)

获得所有权并让自己完全控制C:\ Dev \ Trunk.svn和孩子。这应该可以解决你的问题。

我建议不要关闭UAC。如果你需要关闭它,你可以通过控制面板\用户帐户\开启或关闭用户帐户。

答案 2 :(得分:0)

我在启用了UAC的Windows Vista SP1上使用TortoiseSVN。我没有遇到任何问题。由于Vista SP1和Windows 2008本质上是相同的操作系统,我认为您可能遇到了另一个问题。

SVN会对临时文件进行大量重命名,如果存在共享冲突,则不会特别强大。我发现一些防病毒产品会发现SVN刚刚关闭(临时)文件。他们会扫描它,当他们扫描它时,SVN会尝试重命名它 - 共享违规行为:繁荣。搜索索引器有时会导致同样的问题。

查看是否可以阻止索引源目录,或阻止AV对其进行实时扫描。您可以排除目录,也可以排除TortoiseProc.exe进程。

答案 3 :(得分:0)

我们刚刚更新到SVN 1.9.3,但我们在开发服务器上使用SVN,通过查看网站文件直接从存储库更新我们的测试站点。我们发现未执行原始结帐的用户无权运行SVN更新。现在,所有这些用户都是管理员组的一部分,它仍然没关系,但我们发现很奇怪的是你可以将Everyone组添加到签出文件夹,然后任何人都可以执行SVN更新。

我不明白为什么添加的每个人都可以执行此操作,而不是管理员组中的任何人。

我确保Administrators组具有完全控制权,并且它已传播到所有子目录和文件。没关系。

如果其他人对此有解释,那将非常有帮助。

答案 4 :(得分:-1)

您是否尝试在Windows资源管理器中导航到Program Files \ TortoiseSVN \ bin并在TortoiseProc.exe上设置“运行广告管理员”>属性>兼容性?