Как мне использовать SharpSVN для программного «добавления в список игнорирования» для папки

StackOverflow https://stackoverflow.com/questions/2315557

  •  22-09-2019
  •  | 
  •  

Вопрос

Как мне использовать SharpSVN для программного добавления папки в список игнорирования?

РЕДАКТИРОВАТЬ:Попытка:
Вот что я пробовал

svnClient.GetProperty(new SvnUriTarget("svn://svn.foo.com/" + DatabaseName + "/"), SvnPropertyNames.SvnIgnore, out ignores);
ignores += " Artifacts";
var args = new SvnSetPropertyArgs() { BaseRevision = ???, LogMessage = "update ignore list" };
svnClient.SetProperty(new Uri("svn://svn.foo.com/" + DatabaseName + "/"), SvnPropertyNames.SvnIgnore, ignores, args);

Но я не знаю, как получить BaseRevision (я могу получить его вручную, и это работает, но все комбинации GetProperty, которые я пробовал, похоже, мне его не дают).

РЕШЕНИЕ:На основе ответа Берта

SvnGetPropertyArgs getArgs = new SvnGetPropertyArgs(){};
string ignores = "Artifacts";
string result;
if(svnClient.GetProperty(new SvnUriTarget("svn://svn.foo.com/" + ProjectName + "/trunk/"), SvnPropertyNames.SvnIgnore,out result))
{
    ignores = result + " Artifacts"; //TODO: check for existing & tidy formatting.
}
svnClient.SetProperty(UncPath.TrimEnd('\\'), SvnPropertyNames.SvnIgnore, ignores);
SvnCommit(svnClient);
Это было полезно?

Решение

Список игнорирования хранится в свойстве «svn:ignores» родительского каталога, который содержит игнорируемый файл/каталог.(См. Книга подрывной деятельности или svn help propset)

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top