Код C # для экспорта папки SVN - PullRequest
4 голосов
/ 09 марта 2010

Я ищу простой сценарий C #, который будет экспортировать папку SVN.

примечание: у меня на этом сервере Win 2008 r2 установлена ​​черепаха svn.

Спасибо за вашу помощь!

пример:

//SVN: 
string source = c:\project\websiteFiles\

//Export to:
string target = c:\inetpub\hockeyWebsite\

ExportSVNfolder(source, target)
{
// export the files

// wait till export is 100% complete

// return
}

Ответы [ 3 ]

8 голосов
/ 09 марта 2010

Используя Метод экспорта SvnClient SharpSvn это действительно просто:

SharpSvn.SvnClient svnclient = new SvnClient();
svnclient.Export(new SvnUriTarget(source),
    target, new SvnExportArgs());
3 голосов
/ 09 марта 2010

Я бы порекомендовал использовать SharpSVN .

0 голосов
/ 09 марта 2010

Вы можете автоматизировать все команды TortoiseSVN через командную строку, как описано в файлах справки . Или вы можете установить и вызвать двоичные файлы Subversion напрямую.

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

  1. Создайте текстовый файл (например, c:\ignore.txt), в котором перечислены все файлы, которые нельзя экспортировать / копировать (обычно это содержит только одну строку: .svn для исключения папок SVN).
  2. Создайте пакетный файл, содержащий следующую команду для выполнения экспорта:
  3. XCopy C:\WorkingCopyFolder C:\TargetFolder /EXCLUDE:C:\ignore.txt /E /C /I /F /R /Y
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...