Копирование .svn файла? - PullRequest
       6

Копирование .svn файла?

1 голос
/ 01 апреля 2011

Я пытаюсь автоматизировать некоторые вещи в SVN, и частично это копирование файла .svn (тот, который содержит каталог, из которого должны обновляться их файлы) на локальный диск.

Я использую следующий код:

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

И я получаю следующую ошибку:

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

Разве мне не разрешено перемещать файлы такого типа? Я знаю, что по умолчанию они скрыты, так что, возможно, именно это и происходит. Или есть способ в C #, я могу просто создать новый файл .svn, чтобы мне не пришлось беспокоиться с разрешениями и тому подобное?

Спасибо!

Ответы [ 3 ]

4 голосов
/ 01 апреля 2011

В прошлый раз, когда я проверял, .svn был каталогом. Вы, вероятно, не можете скопировать каталог с помощью File.Copy, или каталог используется (блокировка общего доступа).

Взгляните на функцию поиска ProcessExplorer (в Sysinternal Suite), чтобы узнать, какой процесс ее использует (возможно, TortoiseSVN?)

Возможно, запланируйте репликацию, используя Rich Copy , который является клоном RoboCopy от Microsoft, который будет копировать разрешения, инкрементное обновление и т. Д.

1 голос
/ 01 апреля 2011

Обычно это происходит из-за того, что у вас запущена черепаха, а в черепаховом кэше файл заблокирован. Если вы выключите его в диспетчере задач, вы можете делать все, что захотите, с помощью нажатия.

Тем не менее, какова цель копирования этого? Вы клонируете проект?

0 голосов
/ 01 апреля 2011

Если вы работаете в Windows и используете TortoiseSVN, то .svn на самом деле является каталогом, поэтому вы не можете использовать File.Copy для него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...