2012-08-16 6 views
1

Я пытаюсь пометить конкретную папку (на моем ПК) в местоположении SVN, используя SvnClient.Ветвь/тег с использованием SharpSvn C#

Я пришел к выводу, что Branch/Tag - это просто операция копирования в Subversion.

  1. Верно ли, что копия в местоположение похожа на (или то же самое, что и) на создание тега?
  2. Команда SvnClient.Copy имеет следующую подпись:

    общественного BOOL Copy (SvnTarget sourceTarget, строка toPath)

Я использую его как:

string CILocalPath = System.IO.Path.Combine(NewLabelFolderPath, "CI"); // C:\MyFolder 
    string CITagPath = textBoxCI.Text.Replace(textBoxBranchKeyword.Text,textBoxTagKeywork.Text); svn://10.205.10.72/OurFolders 

    SvnTarget CITarget = SvnTarget.FromString(CITagPath); 
    client.Copy(?,?); 

Его очень запутанным и Я не знаю, первый параметр - мой локальный путь или удаленный путь.

Я использую его правильно? Пожалуйста, помогите мне.

EDIT:
Я поместил C:\MyFolder в качестве первого аргумента, а другой, как второй, и он дал мне следующую ошибку:

This argument is not a valid path. A Uri was specified
Parameter name: toPath

+0

Я не знаю точно, но я бы ожидал, что первым параметром будет 'CITarget' (т.е. ссылка на источник, который содержит полную информацию о репозитории). Затем я ожидал, что вторым параметром будет путь в этом репозитории (например, что-то вроде 'foo/tags/version1.2.3.4 /'), но я не уверен. Я бы никогда не ожидал, что ваши локальные папки будут ссылаться, так как ветка/тег - это то, что происходит в репозитории, а не в вашей файловой системе. – Chris

ответ

2

Если вы хотите скопировать в URL, Вам необходимо клиенту. RemoteCopy (,)

SharpSvn использует для этого другую функцию, чтобы избежать необходимости настройки авторизации и т. Д., Для копирования только локальных каталогов.