如何使用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的組合我試過好像不把它給我)
解決方案:基於伯特的回答:
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);
您應該只檢索並設置本地工作副本的屬性,然後將更改提交到存儲庫。 (要做到這一點,只需用本地路徑替換UriTarget)。 – 2010-03-02 12:26:50
沒有真正的相關性(因爲本地路徑更容易):但是不是直接使用SvnUriTarget類,而是直接使用正常的System.Uri實例。對於string-> SvnPathTarget和Uri-> SvnUriTarget定義了自動轉換。 – 2010-03-02 12:27:58