我想备份我的代码,并能够在任何时候从台式机或笔记本电脑或任何其他设备访问它。因此,我决定添加一个post - commit钩子,将我的存储库简单地转储到一个目录中,并在我所有的设备之间同步。
我做了一些测试,几乎在每个场景中我都尝试运行一个简单的
svnadmin转储文件c: 路径 回购> c: 路径 bkp
导致访问被拒绝。我能够创建转储的唯一方法是通过右键单击并以管理员身份运行它来打开命令提示符,然后发出转储命令。
显然,我使用的标准帐户(CallMeBob)在Administrators组中。我还尝试将自己添加到VisualSVN创建的所有VisualSVN组(并重新登录),但没有乐趣。
另外,我试着运行这样的东西:
runas/user:administrator svnadmin dump…
在询问管理员密码后,也会导致"Access is Denied"。(但即:runas/user:administrator cmd工作正常。)
我也试过设置svnadmin.exe以管理员身份运行,但还是没有成功。
存储库文件夹的安全权限如下:
- 管理员:完全控制 CallMeBob: Full Control
- 系统:完全控制
- 网络服务(这是运行VSVN服务器的帐户):除了完全控制 之外,所有内容都勾选了
- VisualSVN服务器管理员:一切都勾选除了完全控制
显然在某个地方有某种许可问题,但是在花了一些恶心的时间之后,我仍然不明白在哪里…什么好主意吗?
编辑(s):
附加检查列表(根据注释):
- 禁用CallMeBob帐户的UAC
- 将网络服务用户添加到VisualSVN组(包括:VisualSVN复制合作伙伴,VisualSVN存储库管理员,VisualSVN服务器管理员)
我也面临同样的问题,发现这个问题还没有得到回答。
您的命令缺少转储文件的名称!为转储文件添加任何名称,它将像一个魅力一样工作。
svnadmin dump c:pathtorepo> c:pathtobkpbackup.svndump
我遇到了同样的问题,通过从命令窗口导航到我想保存备份的目录,然后输入一个没有路径的文件名,使其工作。
svnadmin dump C:pathtorepo > backup.svndump