如何使用SharpSVN以编程方式“添加到忽略列表”的文件夹
题
我如何使用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的所有组合尝试似乎并没有把它给我。)
<强> SOLUTION:基于Bert的回答强>
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:忽略”上包含被忽略的文件/目录的父目录属性。 (请参阅 Subversion书中或svn help propset
)
所以要加你必须得到原始的属性值(如果存在的话),然后添加额外的项目有空格隔开的一个项目。上SvnClient这种情况的功能的getProperty和setProperty()。
不隶属于 StackOverflow