正在复制.svn文件?

时间:2011-04-01 15:13:10

标签: c# svn copy

我正在尝试自动化SVN中的一些东西,其中一部分是将.svn文件(包含目录应该更新其文件的位置)复制到本地驱动器。

我正在使用以下代码:

File.Copy(@"X:\SVN\.svn", @"C:\SVN\.svn, true");

我收到以下错误:

Access to the path 'X:\SVN\.svn' is denied

我是不是只允许移动这些类型的文件?我知道默认情况下它们是隐藏的,所以也许这就是正在发生的事情。或者在C#中有一种方法,我可以创建一个新的.svn文件,这样我就不必费心去做权限了吗?

谢谢!

3 个答案:

答案 0 :(得分:4)

上次检查时,.svn是一个目录。您可能无法使用File.Copy复制目录,或者该目录正在使用中(共享锁定)。

查看ProcessExplorer的查找功能(在Sysinternal Suite中),找出哪个进程使用它(也许是TortoiseSVN?)

也许使用Rich Copy来安排您的复制,这是一个来自Microsoft的RoboCopy克隆,它将复制权限,增量更新等。

答案 1 :(得分:1)

通常这是因为您已经运行了龟,并且龟缓存已锁定文件。如果你在任务管理器中将其关闭,你可以用点击做任何你想做的事。

那说,复制它的目的是什么?你在克隆这个项目吗?

答案 2 :(得分:0)

如果您使用的是Windows并使用TortoiseSVN,则.svn实际上是一个目录,因此您无法在其上使用File.Copy。